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

Wordpress 如何在ACF选项卡中添加自定义内容,wordpress,advanced-custom-fields,Wordpress,Advanced Custom Fields,我正在尝试在ACF选项卡中添加一些动态自定义内容,但找不到任何筛选器、操作或挂钩来执行此操作。请提供任何帮助。如果是动态内容,您可以使用ACF/prepare\u字段ACF筛选器 此筛选器允许您在字段呈现到页面上之前对其进行修改。此时,该字段已被验证并加载其值 与我之前的回答一样,我会在选项卡中放置一个空的消息字段。然后,像这样使用过滤器(例如在functions.php): function my_acf_prepare_field( $field ) { if ( is_admin(

我正在尝试在ACF选项卡中添加一些动态自定义内容,但找不到任何筛选器、操作或挂钩来执行此操作。请提供任何帮助。如果是动态内容,您可以使用
ACF/prepare\u字段
ACF筛选器

此筛选器允许您在字段呈现到页面上之前对其进行修改。此时,该字段已被验证并加载其值

与我之前的回答一样,我会在选项卡中放置一个空的
消息
字段。然后,像这样使用过滤器(例如在
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');
函数my\u acf\u prepare\u字段($field){
如果(is_admin()):
$dynamic='dynamic';
?>

这就是内容


刚刚遇到了这一点。上述内容很有帮助,但实现这一目标的更有效方法是:

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
}

谢谢@Jordi,它可以工作,但是如果你像我一样有多个选项卡,那么所有选项卡中都会显示自定义内容,因此,我添加了一些css和js来解决这个问题。嗯……如果你只在一个选项卡中放置空消息字段,并使用正确的
acf/prepare\u field/key=key
选项挂接过滤器,那么它就不应该出现在另一个选项卡上s