『Advanced Custom Fields』のコードを

  • 連日失礼致します。

    プラグイン『Advanced Custom Fields』のカスタムフィールドの値を、本文の直前(目次の下?)に表示させたいのですが、具体的にどのファイルのどこに記載すれば良いでしょうか。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    返信
  • REDIVER タカギ #63490

    v0.4.4にてカスタムフィールドの値を出力できるショートコードをテーマにて実装させていただきました。

    [カスタマイズ > 投稿ページ > パーツ] から コンテンツ上部パーツをついていただくと、コンテンツの前にパーツが挿入されます。

    カスタムHTML を追加していただき、下記のようなショートコードを追加していただくと、キーに対する値を出力可能です。

    [cf key="カスタムフィールドのキー"]

    HTMLとして出力されるので、下記のように記述することもできます。

    例)<p>色 : [cf key="color"]</p>

     

    TARA #63491

    ショートコードの実装ありがとうございました、とても簡単に表示できるようになりました。
    重ねての質問です。

    (1)条件分岐(特定タグの有無)でCFの表示/非表示を切り替えたいのですが、カスタムhtml内でのphp表記はできないでしょうか。

    (2)具体的に下記のように表示させたく、カスタマイズ>投稿ページ>パーツ>コンテンツ上部に、上から①ショートコード[diver_toc] ②ショートコード[cf key=“ACF名”] を入れましたが希望通りに表示されません。
    この位置にCFを表示させることは可能でしょうか。

    ————————————

    『見出し』
    『目次([diver_toc])』
    『カスタムフィールド([cf key=“商品名”])』
    『投稿本文(商品の説明など)』

    ————————————

    宜しくお願い致します。

    REDIVER タカギ #63494

    (1)条件分岐(特定タグの有無)でCFの表示/非表示を切り替えたいのですが、カスタムhtml内でのphp表記はできないでしょうか。

    カスタムHTMLには表示条件の設定ができないので、カスタムHTMLブロックをグループブロックで囲って、そのグループブロックに[DBP OPTION] から [表示条件 - カスタム]を設定してみてください。

    https://re-diver.com/manual/diver-blocks/advanced/

    例 : testというタグが設定されている場合 )has_tag=test

    (2)具体的に下記のように表示させたく、カスタマイズ>投稿ページ>パーツ>コンテンツ上部に、上から①ショートコード[diver_toc] ②ショートコード[cf key=“ACF名”] を入れましたが希望通りに表示されません。

    下記のように表示されるかと思います。カスタムフィールドの値が表示されませんでしょうか?

    TARA #63495

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

    (1)
    当方の説明不足でした。パソコンに不慣れな者も含め複数人でWPを運用しておりますので、条件分岐とACFの表示をテンプレート化しておきたいです。
    DIVERの頃はsingle.phpに条件分岐(特定タグの有無)とACFのコードを書き込んでいた筈なのですが、今回はどこに書くべきか分からず質問させて頂きました。

    (2)
    こちらもテンプレート化しておきたいです。
    ブロックエディタ画面からではご教示の通りに表示されましたが、外観→カスタマイズ→投稿ページ→パーツに[diver_toc]を入れた場合は目次が表示されません。CFは表示されます。
    目次は外観→カスタマイズ→投稿ページ→コンテンツにある目次の表示設定のみ反映されています。

    長々と大変申し訳ありません、宜しくお願い致します。

    REDIVER タカギ #63498

    目次も合わせて設定する場合には、コンテンツに追加する必要がありますので、下記のコードを子テーマのfunctions.phpに貼り付けて調整してみてください。

     

    
    add_filter('the_content', function($content){
    
        $is_editor = (defined('REST_REQUEST') && REST_REQUEST) ? true : false;
    
        if(is_admin() || $is_editor || !is_main_query() || !in_the_loop()) return $content;
    
        $ex = '[diver_toc]';
        $ex .= '[cf key="color"]';
    
        return $ex . $content; 
    
    }, 1);
    
    TARA #63499

    ご回答ありがとうございます。
    こちらを調整して問題無く表示することができました。

    長々と申し訳ありませんでした、ありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「『Advanced Custom Fields』のコードを」には新しい返信をつけることはできません。