web-dev-qa-db-ja.com

カスタム投稿タイプの単一ページのnext_post_linkとprevious_post_link、同じ非カスタムカテゴリ

私はカスタム投稿タイプ "realization"を持っています、そのために私はファイルsingle-realisation.phpを作りました。これらの記事では、カスタムではない分類法「カテゴリ」を使用しています。このページでは、in_same_termパラメーターをTRUEに設定して、next_post_link()およびprevious_post_link()関数を使用します。私は他のパラメータも ''と 'category'に設定しようとしました(このサイトは3.8以前に作られたので、私は信じています).

私の問題はカテゴリーが考慮されていないようです。リンクは表示されますが、現在の投稿が含まれているカテゴリを無視して、作成順に次または前の実現投稿につながります。

それでもカテゴリに関する他のすべてはうまくいくようです。私は$categorie = get_the_category()を使ってそれを取得し、それから$category[0]->nameを使ってそれをエコーし​​ます。そしてカテゴリの名前は正しく現れます。もちろんこれはすべてループの中です。

in_same_termをtrueに設定してvar_dumping get_next_post()get_adjacent_post()を試してみましたが、いつも同じ結果になりました。カテゴリーにもかかわらず、私はすぐに次の実現ポストを得ます。

next_post_link()previous_post_link()のカスタム投稿タイプでVanillaカテゴリを使用しようとしているときに私がすべき特別なことはありますか?分類パラメーターの構文はおそらく?

2
Alexis D.

まず、あなたが「カスタム投稿タイプを登録する」が'taxonomies'=> array( 'category') & 'has_archive' => true,のようにすべて正しいというあなたの "custom_post_type"関数をチェックしてください!もしそうなら、あなたはそれを表示するために間違った方法を置く必要があります。

Next_post_linkとprevious_post_linkについてsingle-realisation.phpファイルの中でこのようにして試してください

$prev_post = get_previous_post(); $next_post = get_next_post();    
 if(!empty($prev_post)):
        echo '<a href="'.get_the_permalink($prev_post->ID).'">'.__('Previous','text-domain').'</a>';
  endif;

if(!empty($next_post)):
     echo '<a href="'.get_the_permalink($next_post->ID).'" >'.__('Next','text-domain').'</a>';
endif;

私はあなたがあなたのカスタム投稿タイプからもあなたの次の投稿と前の投稿のリンクを得ることを信じています。

ありがとうMsua

1
MD MUSA