如何在ACF选项卡中添加自定义内容

时间:2017-02-08 08:53:37

标签: wordpress advanced-custom-fields

我正在尝试在ACF标签中添加一些动态自定义内容,但无法找到任何过滤器或操作或挂钩来做任何帮助

2 个答案:

答案 0 :(得分:1)

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

  

此过滤器允许您在将字段渲染到页面之前对其进行修改。到目前为止,该字段已经过验证并且已加载了值。

与我之前的回复一样,我在Tab中放置了一个空的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以获取仅过滤字段(按键或名称)或所有消息字段(按类型)的选项。

有效:

Result

答案 1 :(得分:0)

只是碰到了这一点。上面的方法很有帮助,但是更有效的方法可以达到以下目的:

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
}