web-dev-qa-db-ja.com

next_post_link()が単一のカスタム投稿タイプの投稿に対して機能しない

私はこれを機能させることはできません - これは私の single-osu_work.php ファイルにあるこの投稿タイプのコードですが、私は次および前の投稿リンクを取得することができません。表示されます - 問題は発生しますか?ページネーションリンクをループ内に配置しようとしましたが、まだ何もしていません。

ありがとう、

大須

if (have_posts()) : while (have_posts()) : the_post(); ?>
    <article <?php post_class(); ?> id="post-<?php the_ID(); ?>">
        <h1 id="mainheading"><?php the_title(); ?></h1>
        <?php the_content(); ?>
        <footer class="postmetadata">Date: <?php the_date('Y'); ?></footer>
    </article>
    <?php endwhile;
else : ?>
    <article id="nada">
        <h2 id="mainheading">Nothing found</h2>
        <p>Apologies, but you've come across a page that can't be found.</p>
        <p>Please use the search function or continue browsing.</p>
        <?php echo get_search_form(); ?>
    </article>  
<?php endif; ?>

    <div class="next-posts"><?php next_post_link('%link', 'Newer entry &gt;', true) ?></div>
    <div class="prev-posts"><?php previous_post_link('%link', '&lt; Older entry', true) ?></div>
    <div class="clear">&nbsp;</div>
6
Osu

わかりました、私はリンクを表示するという点で解決策を見つけました、しかし、私は同じカテゴリー/分類学の中の記事の間で移動するためだけに '本当の'議論を取り除く必要がありました。

それらが同じ分類学の範囲内のものだけであるようにあなたがリンクされた投稿を制限することができないというその権利ですか?これが正しいコードです、そしてvancoderが言うように、それはループの中に現れる必要があります(私はこれをendwhile;の直前に置きました):

<div class="next-posts"><?php next_post_link('%link', 'Newer entry &gt;') ?></div>
<div class="prev-posts"><?php previous_post_link('%link', '&lt; Older entry') ?></div>

これはカスタム分類法によるカスタム投稿タイプなので、Wordpressは通常の投稿であるかのように「カテゴリ」を探しているため、ページ区切りは壊れています。私のカスタム分類法内の作業投稿のみが返されるように、この作業を行う方法はありますか?

9
Osu

WordPress 3.8では、5番目のパラメータとして分類法を指定できます。あなたの場合、それは何かのようになります。

<?php previous_post_link( '%link', __( 'Older Entry &gt;', 'sometextdomain' ), true, '', 'somecustomtaxonomy' ); ?>
<?php next_post_link( '%link', __( 'Newer Entry &gt;', 'sometextdomain' ), true, '', 'somecustomtaxonomy' ); ?>

詳細についてはコーデックスを確認してください http://codex.wordpress.org/Function_Reference/previous_post_link

2
Elliot

next_post_link()/previous_post_link()呼び出しの前にcustom wp_query呼び出しを行っていて、照会をデフォルトにリセットしていないことを確認してください。

その場合は、カスタムwp_reset_queryを使用した後にwp_queryを使用してください。

0