【问题标题】:How to add custom content inside ACF tab如何在 ACF 选项卡中添加自定义内容
【发布时间】:2017-02-08 08:53:36
【问题描述】:

我正在尝试在 ACF 选项卡中添加一些动态自定义内容,但找不到任何过滤器、操作或挂钩来执行此操作,请帮助

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    如果是动态内容,您可以使用acf/prepare_field ACF 过滤器。

    此过滤器允许您在字段呈现到页面之前对其进行修改。此时,该字段已经过验证并已加载它的值。

    在我之前的回复中,我会在选项卡中放置一个空的 Message 字段。然后,像这样使用过滤器(例如functions.php):

    function my_acf_prepare_field( $field ) {
        if ( is_admin() ) :
            $dynamic = 'dynamic';
            ?>
            <p style="padding: 1em;">
                This is <?= $dynamic ?> content
            </p>
            <?php
        endif;
        return $field;
    }
    
    add_filter('acf/prepare_field/key=YOUR_MESSAGE_FIELD_KEY', 'my_acf_prepare_field');
    

    检查 the docs 以获取仅过滤字段(按键或名称)或所有消息字段(按类型)的选项。

    有效:

    【讨论】:

    • 谢谢@Jordi,它可以工作,但如果你像我一样有多个标签,似乎所有标签中都会显示自定义内容,所以我添加了一些 css 和 js 来解决这个问题。跨度>
    • 嗯...如果您只将空消息字段放在一个选项卡中,并且使用正确的acf/prepare_field/key=KEY 选项挂钩您的过滤器,它不应该出现在其他选项卡上...跨度>
    【解决方案2】:

    刚刚碰到这个。以上内容很有帮助,但实现此目标的更有效方法是:

    function prepare_acf_message_content( $field ) { 
    
        if ( is_admin() ) {
            
            $field['message'] = 'Got your content right here' ; 
    
        }
    
        return $field ;
    
    }
    
    add_filter('acf/prepare_field/key=FIELD_KEY_HERE', 'prepare_acf_message_content') ;
    

    如果您转储 $field,您可以考虑调整的其他消息字段元素将可见 - 例如:

    {
    "ID":151718,
    "key":"field_5f4d95a6d04ee",
    "label":"Widget Output",
    "name":"acf[field_5f4d95a6d04ee]",
    "prefix":"acf",
    "type":"message",
    "value":false,
    "menu_order":27,
    "instructions":"",
    "required":0,
    "id":"acf-field_5f4d95a6d04ee",
    "class":"","conditional_logic":0,
    "parent":78177,
    "wrapper":{"width":"","class":"","id":""},
    "message":"",
    "new_lines":"",
    "esc_html":0,
    "_name":"widget_output"
    ,"_valid":1,
    "_prepare":true
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-22
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多