私はループ内でwork
というカスタム投稿タイプのsingle-work.php
を使っています。
前の記事と次の記事へのリンクを2つ作成しようとしています。
このコードを使う:
<?php previous_post_link(); ?>
そして
<?php next_post_link(); ?>
しかし何も現れない。私は何かが足りない
これは私のコードです、とても簡単です。
<?php get_header(); ?>
<div class="full" >
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php endwhile; // end of the loop. ?>
</div><!--/full-->
<?php get_footer(); ?>
あなたのコードで私が見ているのは、あなたの次の投稿と前の投稿のコードがwhileループの中にあってはいけないということです。
<?php get_header(); ?>
<div class="full" >
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php endwhile; // end of the loop. ?>
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
</div><!--/full-->
<?php get_footer(); ?>
または、詳しく見ることができます ここ 。
上記の投稿で、私は数字によるページ付けを見つけましたが、それでも、ページ付けがどのように正確に機能するかを説明しました。
機能は正しいです。パラメータを設定する
<?php next_post_link('%link', 'Next post »'); ?>
<?php next_post_link('%link', 'Next post »'); ?>
まあ、あなたのコードを見なくても、理由を言うのは難しいです。 PHPエラーや警告はありますか?
アップデート
小さな例
<?php query_posts( array( 'post_type' => 'page', 'post_status' => 'publish' ) ) ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post() ?>
<!-- do stuff -->
<div id="nav-single">
<div class="left"><?php previous_post_link(); ?></div>
<div class="right"><?php next_post_link(); ?></div>
</div>
<?php endwhile; // end of the loop. ?>
<?php wp_reset_query(); ?>
<?php else : ?>
<!-- do other stuff here -->
<?php endif ?>
ドキュメント を読んでください。
Php.iniでmysql.trace_modeが有効になっていると、この機能は動作しません(静かに失敗します)。そのファイルを編集できない場合は、追加してみてください
ini_set( 'mysql.trace_mode', 0 ); to your theme's functions.php.
それはあなたの問題を解決するかもしれません、それは私のためにしました。