如何在 ACF 选项卡中添加自定义内容
How to add custom content inside ACF tab
我正在尝试在 ACF 选项卡中添加一些动态自定义内容,但找不到任何过滤器、操作或挂钩来执行此操作,请帮忙
如果是动态内容,您可以使用 acf/prepare_field
ACF 过滤器。
This filter allows you to modify a field right before it is rendered onto the page. By this time, the field has been validated and it’s value loaded.
与我之前的回复一样,我会在选项卡中放置一个空的 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 以获取仅过滤一个字段(按键或名称)或所有消息字段(因此,按类型)的选项。
有效:
只是 运行。以上内容很有帮助,但实现此 objective 的更有效方法是:
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
}
我正在尝试在 ACF 选项卡中添加一些动态自定义内容,但找不到任何过滤器、操作或挂钩来执行此操作,请帮忙
如果是动态内容,您可以使用 acf/prepare_field
ACF 过滤器。
This filter allows you to modify a field right before it is rendered onto the page. By this time, the field has been validated and it’s value loaded.
与我之前的回复一样,我会在选项卡中放置一个空的 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 以获取仅过滤一个字段(按键或名称)或所有消息字段(因此,按类型)的选项。
有效:
只是 运行。以上内容很有帮助,但实现此 objective 的更有效方法是:
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
}