サポート » 使い方全般 » 直前の親ページのリンクを取得したい

  • 解決済 atikuti

    (@atikuti)


    下記のコードですと1番上の親のリンクを取得してしまいます。
    直前の親ページのリンクを取得するにはどうしたらよろしいでしょうか?
    どなたかご教授ください。

    <a href=”<?php //親ページのリンクを取得
    $ancestor = array_pop( get_post_ancestors( $post->ID ) );
    $permalink = get_permalink( $ancestor );
    echo ($permalink);
    ?>”>

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター jim912

    (@jim912)

    $post->post_parent

    で、すぐ上の親のIDを取得できます。
    但し、自分が一番上である場合もあるので、その点は注意してください。

    トピック投稿者 atikuti

    (@atikuti)

    早速のご回答をいつもありがとうございます。
    書き方が悪いせいか、リンク先がうまく動きませんでした。
    下記のような記述をしましたが、間違いがありましたらご指摘いただけましたら幸いです。
    (「$post->ID」の部分を「$post->post_parent」に変更しました)
    申し訳ありませんが、どうぞよろしくお願いいたします。

    <a href=”<?php //親ページのリンクを取得
    $ancestor = array_pop( get_post_ancestors( $post->post_parent ) );
    $permalink = get_permalink( $ancestor );
    echo ($permalink);
    ?>”>

    get_post_ancestors と array_pop を結局使っているのでこれだと一番上の親のリンクが返ってきますね。

    $post->post_parent で取得したすぐ上の親のIDを get_permalink に渡してリンクを取得すれば良いかと思います。

    トピック投稿者 atikuti

    (@atikuti)

    ご返信が遅くなり申し訳ありません。
    お教えいただいた方法で試したのですが、やり方が悪いためうまくいきませんでした。
    ご教授いただいておきながら申し訳ありません。

    今回は固定ページを1階層上げることで対応いたしました。
    今後、勉強してまいります。
    いろいろありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「直前の親ページのリンクを取得したい」には新たに返信することはできません。