WordPressテーマの上部にギャラリーがあり、その下にブログ投稿があります。次のページに行くたびに、私が望まないトップに移動します。ギャラリーのすぐ下に#blogというアンカーを追加して、前/次のページのリンクに追加したいと思います。これを機能させるには、コードのどこに#blogを配置する必要がありますか?
1 に答える
これは、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; ?>
これにより、探しているリンクが作成され、ページが画像を超えて投稿コンテンツに自動的にジャンプします。