サポート » 使い方全般 » PHP文章内にカスタムフィールドで加えた文章を挿入

  • 解決済 longfreeway

    (@otasfactory)


    いつもお世話になっております。
    テンプレート内に

    <?php query_posts( array(‘category_name’=>’スラッグ名’, ‘posts_per_page’=>8) ); ?>

    という文章があるのですが、スラッグ名を投稿編集のカスタムフィールドで入力して指定したいと考え、

    <?php query_posts( array(‘category_name’=>'<?php echo get_post_meta($post->ID, ‘スラッグ’, true); ?>’, ‘posts_per_page’=>8) ); ?>
    にしてみたのですが、反映されません。

    どなたか対応策をお持ちの方がいらっしゃればご教授頂けたら幸いです。
    宜しくお願い致します。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • Tsuyoshi.

    (@andante0727)

    こんばんは。

    echoはquery_postsのパラメータに指定する時は要らないかと。

    <?php 内で <?phpを使用するのもおかしいので、エラーが出ていないかデバッグモードを有効にして確認してください。

    トピック投稿者 longfreeway

    (@otasfactory)

    Tsuyoshi.様
    早速のご返信ありがとうございます。

    >エラーが出ていないかデバッグモードを有効にして確認してください。
    出てきました!
    ご指導ありがとうございます。

    >echoはquery_postsのパラメータに指定する時は要らないかと

    <?php query_posts( array(‘category_name’=>’get_post_meta($post->ID, ‘スラッグ名’, true)’, ‘posts_per_page’=>8) ); ?>

    上記のようにechoと<?php ?>を削除してみたのですが・・・エラーがでて白画面になってしまいました。。。

    不勉強で大変申し訳ありませんが、アドバイス宜しくお願い致します。

    構文エラーなので、括弧が閉じてないとか、よく見直してみてください。

    トピック投稿者 longfreeway

    (@otasfactory)

    digit@maetel様
    返信ありがとうございます。

    >括弧が閉じてないとか、よく見直してみてください。
    <?php query_posts( array(‘category_name’=>’get_post_meta($post->ID, ‘スラッグ’, true)’, ‘posts_per_page’=>8) ); ?>

    get_post_meta($post->ID, ‘スラッグ’, true)部分を投稿記事の個別スラッグ名に置き換えると望むように表示されますので括弧の閉じ忘れに問題はないのではないかと浅慮ながら考えております。
    例:
    <?php query_posts( array(‘category_name’=>’天気’, ‘posts_per_page’=>8) ); ?>

    恐らく根本的に<?php query_posts( array(‘category_name’=>’get_post_meta($post->ID, ‘スラッグ’, true)’, ‘posts_per_page’=>8) ); ?>自体の構文の組み立てに問題があるのではないかと・・・。

    どうかお力添え宜しくお願い致します。

    Tsuyoshi.

    (@andante0727)

    ちょっと全てに目を通せていないのですが、query_postsのパラメータに渡す時にはget_post_metaをシングルクォーテーションで括る必要はありません。

    トピック投稿者 longfreeway

    (@otasfactory)

    Tsuyoshi.様
    返信ありがとうございます。

    >query_postsのパラメータに渡す時にはget_post_metaをシングルクォーテーションで括る必要はありません

    シングルクォーテーションを外し、
    <?php query_posts( array(‘category_name’=>get_post_meta($post->ID, ‘スラッグ’, true), ‘posts_per_page’=>8) ); ?>
    にすると無事表示されるようになりました!!!

    Tsuyoshi.様、digit@maetel様、このような初歩的な質問にお付き合いいただき、本当にありがとうございました!!

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「PHP文章内にカスタムフィールドで加えた文章を挿入」には新たに返信することはできません。