サポート » 使い方全般 » get_the_title($post->post_parent); が機能しない。

  • 解決済 ippozutu

    (@ippozutu)


    get_the_title($post->post_parent); で、固定ページの親ページのページ名を取得したいのですが、親ページでは無く自身のページ名が表示されてしまいます。

    構成は下記の通りです。
    —————————————–
    親ページ(固定ページ)
    ページ名:親 スラッグ:parent

    子ページ(固定ページ)
    ページ名:子 スラッグ:child

    インクルードファイル(include.php)
    function.phpにコードを書き、ショートコードでこのファイルを読み込めるようにしています。
    —————————————–

    子ページで親ページを設定しました。固定ページ一覧でツリー表示されるので、親子関係にはなっていると思います。

    子ページにショートコードを書いて、include.phpを読み込んでいます。
    include.phpの中は、下記の通りです。

    <?php echo get_the_title($post->post_parent); ?>

    これで、親ページのページ名である「親」が表示されると思うのですが、実際には「子」と表示されてしまいます。

    ちなみに、

    <?php echo get_page_uri($post->post_parent); ?>

    だと、 parent/child と表示されます。

    一体何故でしょうか?
    よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • (include.php が読み込まれるときに)$post が、どのページを実際に表しているのか、確認なさいましたか?

    例えば include.php を下記のコードに変更すると確認できると思います。

    <pre>
    <?php var_dump( $post ); /* $post の内容を画面に表示 */ ?>
    </pre>
    <?php echo get_the_title( $post->post_parent ); ?>

    トピック投稿者 ippozutu

    (@ippozutu)

    ご回答ありがとうございます。

    NULL

    と、表示されました。
    NULLでは、何も取得出来なそうですね、、、
    改善策をご教示いただけますでしょうか。

    トピック投稿者 ippozutu

    (@ippozutu)

    global $post;

    の追記で、NULLでは無くなりました。
    全然基本が分かってないようです、、、

    ともかく、これで上手く動作しそうです。
    ありがとうございました!

    ippozutuさん、解決して何よりです。同じように困った人があとから見てわかるように、このトピックを「解決済み」にしてもらえませんか。ご協力よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「get_the_title($post->post_parent); が機能しない。」には新たに返信することはできません。