サポート » 使い方全般 » 呼び出したページの改行が反映されない。

  • 解決済 hunder

    (@hunder)


    トップページに固定ページを呼び込んで表示させようと、下記のコードを使いました。

    <?php
    $page_info = get_page_by_path(‘固定ページのスラッグ’);
    $page = get_post($page_info);
    echo $page->post_content;
    ?>

    呼び込み自体は普通に出来たのですが、引用元のページの改行が反映されず、全て詰まった状態で表示されてしまいます。

    【元固定ページでの表示】

    見出し
    ・本文の内容(改行)
     2行目(改行)
     3行目(改行)
     ……
    見出し2

    【呼び込んだページの表示】

    見出し
    ・本文 2行目 3行目……
    見出し2

    つまり、個別ページではちゃんと表示されているのが、上記コードで呼び込んだトップページではキチキチに詰まって表示されてしまう、という悩みです。

    投稿の呼び出しなら詰まった感じで表示されても問題ないのですが、固定ページをテンプレートレイアウトの代わりに呼び出しているので、出来れば改行が反映されて「元のページと同じように表示したい」のです。

    あまりwordpressとphpには明るくないのでちょっと初歩的な質問かもしれません。

    ちなみにテーマは有料のaffinger4を使っています。
    個別ページの自動改行が無効になるようなチェックは入れていません。

    原因は何が考えられるでしょうか?
    もし解決法などがあればご教授ください。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    the_content フィルターでコンテンツの行に p タブを付加して改行するようにしています。
    get_post 関数で返されるオブジェクト(WP_Post オブジェクト)の post_content は、the_contentフィルターが適用されていないため改行されていません。
    the_content フィルターを適用することによって改行されるようになります。

    echo $page->post_content;

    echo apply_filters( 'the_content', $page->post_content );

    にすれば改行されて表示されます。

    トピック投稿者 hunder

    (@hunder)

    >ishitakaさま

    分かりやすい説明と的確なコードをありがとうございます!
    こんなにあっさりと解決するとは……。
    本当に感謝しております!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「呼び出したページの改行が反映されない。」には新たに返信することはできません。