サポート » 使い方全般 » カスタムフィールドのテキストをカテゴリスラッグへ代入したい

  • 解決済 mattwo

    (@mattwo)


    初心者ですが宜しくお願い致します。

    固定ページに特定のカテゴリ一覧を表示したいのですが
    各ページ毎に同じテンプレートを呼び出すのですが
    カスタムフィールドのテキストフィールドを使って
    任意のカテゴリを呼び出せればと思っています。
    カスタムフィールドのテキストフィールドを使って
    カテゴリのスラッグを入力しその値を
    下記コードの’category_name’ => ‘●●●’,の●●●に
    カスタムフィールドの値を入れ込めないかと悩んでいます。
    ちなみに手打ちで任意のカテゴリースラッグを値に入力するときちんと表示されます。

    カスタムフィールドはアドバンスドカスタムフィールドを使用しています。

    カスタムフィールの値
    <?php $evslug = get_field('evtemp_slug'); ?>
    
    入れ込みたいコード
    <?php
     $args = array(
    	'category_name' => '●●●',
    	'posts_per_page' => 5,
     ); ?>
    <?php
    $posts = get_posts( $args );
    global $post;
    ?>
    <?php
    if($posts): foreach($posts as $post): setup_postdata($post); ?>
    <div>
    表示する内容
    </div>
    <?php endforeach; endif; ?>

    乱文ですが宜しくお願い致します。

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

    プラグインの関数を使用されているようですが、WordPressの関数を使用する場合でも、プラグインの関数を使用する場合でも、

    カスタムフィールドは、それぞれの投稿に依存するので、投稿IDをしてやらないと、カスタムフィールドの値は取得できないのではないかと思います。

    $evslug の値は取れてますか?

    トピック投稿者 mattwo

    (@mattwo)

    ご回答ありがとうございます。
    説明が足りず申し訳ございません。

    固定ページにカスタムフィールドを設け、
    その場所にカテゴリースラッグを手打ちしております。
    同じ場所内にこのカテゴリースラッグを使って画像を表示しているのですが
    こちらは問題なく表示されております。

    申し訳ございませんが、どこからどこまで伝えて良いか分からずスイマセンです
    もし、もっと情報が必要でしたら書き込みお願い致します。

    同じ場所内にこのカテゴリースラッグを使って画像を表示しているのですが
    こちらは問題なく表示されております。

    カスタムフィールドの値は、必ず文字列で返ってくるわけでもないので

    $evslug が文字列なのか、配列になっていないか確認してみてください。

    トピック投稿者 mattwo

    (@mattwo)

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

    $evslug が文字列なのか、配列かの確認は、
    確認の仕方が分からないので申し訳ありませんが

    アドバンスドカスタムフィールドのテキストフィールドなので
    文字列で返ってきてると思われます。

    また、最初のスレで書いた

    <?php $evslug = get_field('evtemp_slug'); ?>
    <img src="<?php bloginfo('template_directory');?>/image/<?php echo $evslug; ?>.png" />

    で画像が問題ないなく表示されています
    答えになっていないかもしれませんが
    これで分かりましたら宜しくお願い致します。

    もし情報不足ならまたお願い致します。

    コードの最初の部分を次のようにしたけれども期待通りにならない…という状況ですか?

    <?php $evslug = get_field( 'evtemp_slug' ); ?>
    <?php $args = array(
    	'category_name'  => $evslug,
    	'posts_per_page' => 5,
     ); ?>

    トピック投稿者 mattwo

    (@mattwo)

    書き込みありがとうございます。

    gblsmさまその通りです。

    'category_name'  => $evslug,

    の$evslugの部分を手打ちすると表示されるので
    変数が代入されていないようです。

    こうやって確認できますよ。

    <?php $evslug = get_field( 'evtemp_slug' ); ?>
    <pre><?php var_dump( $evslug ); ?></pre>

    トピック投稿者 mattwo

    (@mattwo)

    申し訳ございません。
    何か分かりませんが表示されました。

    原因を探ってみますが、何だか分かりません・・・

    大変お騒がせいたしました。

    トピック投稿者 mattwo

    (@mattwo)

    問題原因が良く分からず
    特定するのに時間が掛かりそうなので
    一旦締めさせていただきます。

    回答していただいた皆様
    ありがとうございました。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「カスタムフィールドのテキストをカテゴリスラッグへ代入したい」には新たに返信することはできません。