WordPressで次(next)、前(prev)の記事のリンクを同一カテゴリーにするには?エラーの場合はどうすればいいか?
というご相談を頂きました。
目次
次、前の記事のリンクを同一カテゴリーにする
カスタム投稿で次、前の記事のリンクを同一カテゴリーにしたにのですが、
いろいろ調べまして、下記の設定で解決しそうなのですが、
この3つ目のtrueを入れると、表示自体がされなくなりました。
どいいった原因が考えられますでしょうか。
また、解決策はありますでしょうか。
回答:エラーの探し方
フォームの仕様か、一部(PHPコード?)が表示されていませんでしたが、以下の関数のことでしょうか。
WordPress Codex previous_post_link
WordPress Codex next_post_link
確かにTRUEを追加すればカテゴリー内でリンクするはずです。
<?php next_post_link( '%link', 'Next post in category', TRUE ); ?>
考えられる原因は色々とあります。
リンクだけ表示されないのか?
ページ全体が表示されないのか?
ページ全体が表示されなくなるとしたらPHPの記述ミス ?> が無いとか、半角でなく全角のスペースや記号が使われている など
リンクだけ表示されないとしたら、同じく記述ミスも考えられますが、実際に前後の記事があるかどうかも確認してください。
他、色々な方も情報を出していると思いますが、一度上記リンク(WordPressコーデックス)のサンプルコードで試すのも手です。テーマやその人独自の書かれ方をしている時もあるので。
記事の有無
NEXT PREV で同一カテゴリTRUEのテストをするのなら、最低3記事同一カテゴリに該当する記事が必要です。(該当する記事が無ければ表示されません)
本当に同一カテゴリになっているかを調べるとしたら、別カテゴリの記事も必要です。
Aカテゴリ記事
Bカテゴリ記事
Aカテゴリ記事 ←ここの記事で前後のAカテゴリにリンクしているかをテスト
Bカテゴリ記事
Aカテゴリ記事
最低限これらの記事を作成する必要があるでしょう。
デバッグモード
記述ミスも記事も問題ないとすれば、後はデバッグなどでエラーが表示されているかを見るしかないでしょう。
WordPressにはデバッグモードというのがあります。
WordPress Codex デバッグモード
wp-config.php (WordPressをインストールした一番上の階層にある)には
define( 'WP_DEBUG', false );
という記述がありますが、
define( 'WP_DEBUG', true );
にすればエラーを表示することができます。(警告なども表示されます。)
以下の記事ではエラー表示の見方についても解説しています。
WordPressでサイト上や管理画面でエラーが表示される場合のチェック項目・改善方法
参考にして頂ければ幸いです。