• H1タグを全ページ別々にしたいと思い、header.phpに下記のコードを加え、カスタムフィールドにh1タグを設定するという対策をとりました。

    <h1>
    <?php if (get_post_meta($post->ID, “h1”, true)) : ?>
    <?php $key=”h1″; echo get_post_meta($post->ID, $key, true); ?>
    <?php else : ?>
    <?php the_title(); ?>
    <?php endif; ?>
    </h1>

    ここで、解決したい問題が2点あります。

    まず、トップページのh1に入れたい文章を固定表示させるには、上記の記述をどのように編集すればよいのでしょうか?

    また、カテゴリーの編集ページにはカスタムフィールドがないので、プラグインのAdvanced Custom Fieldsを用いてカスタムフィールドを発生させましたが、h1タグの設定がうまくいきません。
    プラグインの設定の仕方が悪いのであれば正しい方法を、もしくは、何か他に良い手段があればそれを提示していただけないでしょうか?

    以上、よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • <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を使用してカテゴリーに設置したカスタムフィールドを表示するのには少しコツがあります。
    現在、どのようなコードで出力出来ていないか記してもらうとお伝えしやすいかな。

    トピック投稿者 chlolo

    (@chlolo)

    ご回答ありがとうございます。
    トップページの件は解消しました。
    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>
    トピック投稿者 chlolo

    (@chlolo)

    教えていただいたコードを適用したところ、うまく表示されるようになりました。

    どうもありがとうございました。

    感謝いたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「H1タグを全ページ別々にしたい」には新たに返信することはできません。