<h1>
<?php if (is_front_page()) : ?>
<?php echo 'トップページだよーん'; ?>
<?php elseif (post_custom('h1')) : ?>
<?php echo post_custom('h1'); ?>
<?php else : ?>
<?php the_title(); ?>
<?php endif; ?>
</h1>
ACFを使用してカテゴリーに設置したカスタムフィールドを表示するのには少しコツがあります。
現在、どのようなコードで出力出来ていないか記してもらうとお伝えしやすいかな。
ご回答ありがとうございます。
トップページの件は解消しました。
category.phpには下記のコードを記述しています。
<?php get_header(); ?>
<?php
$cat_id = get_queried_object()->cat_ID;
$post_id = ‘category_’.$cat_id;
?>
<?php the_field(‘h1’,$post_id); ?>
上記の代わりに、header.phpの内容を編集したものを記述すればよろしいのでしょうか?
ACF のカテゴリーにつけたカスタムフィールドの出し方は正しいと思います。
カテゴリーのアーカイブを表示する時に、例えばカテゴリーが「映画」ならば h1 に「映画」と出力したいという事でしょうか?
それでしたら、1つ目の質問では header.php に h1 を出す記述がありましたので、category.php ではなくて header.php に書く必要があるかと。
ご質問の主旨が
- トップページには固定文
- カスタムフィールド h1 に値がある投稿ページなら post_custm で出す
- カテゴリーのアーカイブの場合には ACF で設定した カテゴリーのカスタムフィールド h1 を出す
という事だとすると category.php に記述するのではなく、先に書いた私のコードを下記のようにすると良いと思います。
<h1>
<?php if (is_front_page()) : ?>
<?php echo 'トップページだよーん'; ?>
<?php elseif (is_single() && post_custom('h1')) : ?>
<?php echo post_custom('h1'); ?>
<?php elseif (is_category()) : ?>
<?php
$cat_id = get_queried_object()->cat_ID;
$post_id = 'category_'.$cat_id;
?>
<?php the_field('h1',$post_id); ?>
<?php else : ?>
<?php the_title(); ?>
<?php endif; ?>
</h1>
教えていただいたコードを適用したところ、うまく表示されるようになりました。
どうもありがとうございました。
感謝いたします。