• 解決済 keynyon

    (@keynyon)


    お世話になっております。
    度々質問させていただき恐縮です。

    2ページ以上あるページの
    <rel=”next”><rel=”prev”>タグとURLを
    表示させていたいのですが、うまくいきません。

    http://qiita.com/noqua/items/07f502a3e24c400630ae
    こちらを参考に、header.phpに以下のソースを記述しました。

    <?php
    global $page, $paged, $wp_query;
    if (!$max_page)
        $max_page = $wp_query->max_num_pages;
    if (!$paged)
        $paged = 1;
        $nextpage = intval($paged) + 1;
    if ($nextpage <= $max_page) { ?>
    <link rel="next" href="<?php echo next_posts( $max_page, false ); ?>" />
    <?php }
    
    if($paged > 1){ ?>
    <link rel="prev" href="<?php echo previous_posts( false ); ?>" />
    <?php } ?>

    結果は、各アーカイブページ、検索結果ページなどでは思い通りの結果が得られましたが
    カスタム投稿内で使用している
    <!–nextpage–>
    でページ分割した場合の出力ができません。

    <!–nextpage–>
    に対応させる方法を調べたのですが、参考になるものが見つかりませんでした。
    知識が乏しく大変恐縮ですが、ご教示いただけますと幸いです。

    どうぞよろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 keynyon

    (@keynyon)

    大変申し訳ございません。
    タイトルがおかしなことになってしまっておりました。
    修正方法がわからないので、このままにさせていただきます。

    こんにちは、
    アーカイブ等でのページングは、クエリ paged が使われますが <!--nextpage-->で使われるクエリは、pageです。

    現在表示中のページは、global $pageで取得できます。
    投稿の総ページ数は、global $post $post->post_content の内容から この場合だと、preg_match_all 等で<!--nextpage-->の数を数える必要があると思います。

    後は、

    
    $next = esc_url( add_query_arg( 'page', $current_page + 1, get_permalink( $post->ID ) ) );
    

    といった形で、次のリンクを作成できると思います。

    シングル投稿ページでは、<link rel="prev"...> <link rel="next"...>は、デフォルトでセットされています。

    <!--nextpage-->付きの投稿で、、<link rel="prev"...> <link rel="next"...>を単純に追加すると、重複しますので、

    previous_post_rel_link , next_post_rel_link 等のフィルターで、重複を防止する処理を検討してみてください。

    • この返信は9年、 8ヶ月前にnobitaが編集しました。
    • この返信は9年、 8ヶ月前にnobitaが編集しました。
    トピック投稿者 keynyon

    (@keynyon)

    nobita様

    ご教示いただきありがとうございます。

    ご丁寧に説明していただいたにも関わらず大変恐縮なのですが
    全体としてheader.phpにどのように記述してよいのかわかりません…
    知識がなく本当に申し訳ございません。

    引き続きご教示いただけますと幸いです。

    >previous_post_rel_link , next_post_rel_link 等のフィルターで、重複を防止する処理を検討してみてください。
    こちらはfunctions.phpに記述して、対応済です。

    トピック投稿者 keynyon

    (@keynyon)

    試行錯誤の上、なんとか希望していた結果を得られることができました。

    ご教示いただきまして誠にありがとうございました。
    また何かの際はよろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)

トピック「ページ分割した際のの出力について」には新たに返信することはできません。