カスタム投稿タイプで、ページ送りのリンクがうまくいかなかった件|WordPress

WordPressのカスタム投稿タイプで、ページ送りのリンクがうまくいかなかった件で、そうとう疲れたのでメモ。

原因1
投稿の日付がまったく同じ
複製とかしてまったく同じだと飛ばされたりする。(the_date()関数と似ているなあ)
1秒でも変えるといいね。

原因2
previous_post_linkやnext_post_linkを使う。..._"post"_linkだからね、"posts"にしちゃだめだよ。
そのとき以下のような設定をなすってください。

previous_post_link('%link', 'PREV', true,"","タクソノミーのスラッグ");
next_post_link('%link', 'NEXT', true,"","タクソノミーのスラッグ");

3番目の引数がtrue、5番目のタクソノミー名が肝。get_term()とかで取得することになるか?ちょっと忘れた笑

TOPからページ送りして/page/2が「ページがありません」となってしまった場合
http://webhoo.net/2013/02/22/page_404_is_main_query/
ここに載っていたものをちょっと改変。以下はtagの一覧用。functions.phpに貼り付けて使ってね。

add_action( 'pre_get_posts', 'home_posts_type' );
function home_posts_type( $wp_query ) {
if ( ! is_admin() && $wp_query->is_main_query() && $wp_query->is_tag() ) { //管理画面以外 かつ メインクエリー かつ タグ
$wp_query->set( 'post_type', array( 'post', 'hoge' ) );
$wp_query->set( 'posts_per_page', 10 ); // 10件ずつ表示
}
}

状況によっては効くかも。試してみてね。

WordPressも簡単じゃないね。

[showrss]

One Reply to “カスタム投稿タイプで、ページ送りのリンクがうまくいかなかった件|WordPress”

  1. とても参考になりました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA