2

WordPressテーマの上部にギャラリーがあり、その下にブログ投稿があります。次のページに行くたびに、私が望まないトップに移動します。ギャラリーのすぐ下に#blogというアンカーを追加して、前/次のページのリンクに追加したいと思います。これを機能させるには、コードのどこに#blogを配置する必要がありますか?

4

1 に答える 1

2

これは、2つの調整で実行できるはずです。1つ目はアンカーを作成し、2つ目はアンカーを使用するようにリンクを調整します。

アンカーは、属性を持つタグ、または属性を持つほとんどすべてのタグとして参照<a>できnameますid。WordPressのテーマの大部分には、で使用できるアンカーがすでにあります#content。ブログ投稿のいずれかに移動して、ソースコードを表示します。id="content"ソースコードを検索し、それが存在することを確認します。そうでない場合はid、実際の投稿コンテンツがどこにあるかを見つけて、それを使用できます。見つからない場合は、作成する必要があります。

WordPressテーマファイルで、という名前のファイルを探しますsingle.php。これは通常、単一の投稿のレンダリング方法を管理するファイルです。これは、アンカーを追加し(必要な場合)、リンクを調整するために編集するファイルです。

使用するを見つけることができなかったid場合(「コンテンツ」など)、コンテンツが出力のために呼び出されている場所を見つけて、idその周りにラップされているHTMLタグにを追加する必要があります。

たとえば、私のファイルの簡略化されたバージョンは次のようになります。

<div id="primary">
  <div id="content">
    <?php while ( have_posts() ) : the_post(); ?>
      <div class="entry-content">
       <?php the_content(); // this is your post content ?>
      </div><!-- .entry-content -->
    <?php endwhile; // end of the loop. ?>
  </div>
</div>

リンクを出力する方法はいろいろあるので、WordPressのテーマやバージョンによって異なります。ファイルで、single.php「next_post」と「previous_post」に関連する関数を探します。リンクの作成に使用されるほとんどの関数は、リンクタグ(<a>)全体を自動的に書き込むため、リンクをインターセプトして変更する方法はありません。

リンクは自分で書く必要があります。以下のコードは、情報を取得してリンクを作成する方法を示しています。id="content"アンカー参照として使用することを前提としています。

  <?php
  $prev_post = get_previous_post();
  if (!empty( $prev_post )): ?>
    <a href="<?php echo get_permalink( $prev_post->ID ); ?>#content"><?php echo $prev_post->post_title; ?></a>
  <?php endif; ?>

  <?php
  $next_post = get_next_post();
  if (!empty( $next_post )): ?>
    <a href="<?php echo get_permalink( $next_post->ID ); ?>#content"><?php echo $next_post->post_title; ?></a>
  <?php endif; ?>

これにより、探しているリンクが作成され、ページが画像を超えて投稿コンテンツに自動的にジャンプします。

于 2012-11-14T06:59:39.877 に答える