私は本当に小さいように思われるこの問題を注いできました、しかし私はそれを解決するようには思えません。投稿が含まれているカテゴリにのみリンクする次/前のリンクを作成しようとしています。これは、ポートフォリオと呼ばれるカスタム投稿タイプ用です。これは私が現在コンテンツポートフォリオページに持っているコードです:
<?php next_post_link( '<div class="nav-previous">%link</div>', '<span class="meta-nav">' . _x( '←', 'Next post link', 'morphology' ) . '</span> %title'); ?>
<?php previous_post_link( '<div class="nav-next">%link</div>', '%title <span class="meta-nav">' . _x( '→', 'Previous post link', 'morphology' ) . '</span>'); ?>
私は以下のバリエーションをいくつか見ましたが、それを編集して協力させることはできません。
<?php next_post_link( '%link', 'Next post in category', TRUE ); ?>
これを機能させる方法や私が間違っていることについてのアドバイスはありますか?
更新日:私はまだこれに対する良い解決策を得ていません、そして私が他のトップGoogleヒットから試みたものは何も働いているように見えません。 in_same_term = trueと言うとすぐに、リンクは完全に消えます。以下の答えに基づいて、これは私が使っているコードです:
<?php next_post_link(
'<div class="nav-previous">%link</div>',
'<span class="meta-nav">' . _x( '←', 'Next post link', 'morphology' ) . '</span> %title', true, array(), 'portfolio'); ?>
previous_post_link
は5つのパラメータを取りますが、2つのパラメータしか使用しません。
他の3を見てみましょう:
- in_same_term (boolean)(オプション)前の投稿が現在の投稿と同じ分類用語内になければならないかどうかを示します。 'true'に設定した場合、現在の分類学用語からの投稿のみが表示されます。投稿が親カテゴリとサブカテゴリの両方、または複数の用語に含まれる場合、前の投稿へのリンクからこれらの用語のいずれかで前の投稿にリンクされます。 true falseデフォルト:false
- excluded_terms (文字列/配列)(オプション)次の投稿を表示しないようにする、配列または数値IDのカンマ区切りのリスト。例えばarray(1、5)や '1,5'などです。この引数は、 'and'で区切られたIDのリストを受け入れるために使用されていました。これはWordPress 3.3で廃止されました。デフォルト:なし
- 分類法 (文字列)(オプション)分類法($ in_same_termがtrueの場合)。 WordPress 3.8で追加されました。デフォルト: 'category'
そのため、同じカテゴリの投稿を移動したい場合は、3番目のパラメータをtrueに設定する必要があります。
<?php
previous_post_link(
'<div class="nav-next">%link</div>',
'%title <span class="meta-nav">' . _x( '→', 'Previous post link', 'morphology' ) . '</span>',
true
);
?>
そしてあなたのポートフォリオがカスタム分類法を使っているなら、あなたは最後のパラグラフでそれを指摘するべきです:
<?php
previous_post_link(
'<div class="nav-next">%link</div>',
'%title <span class="meta-nav">' . _x( '→', 'Previous post link', 'morphology' ) . '</span>',
true,
array(),
'my_custom_taxonomy'
);
?>
next_post_link
と同じように機能します。