ACF 覆盖使用钩子添加load_value HTML 属性



我正在使用ACF和ACF Hook acf/load_value一起向ACF值添加自定义HTML包装器。然后我使用 ACF 来构建一个 Elementor 模板(我使用的是 Elementor PRO(。 模板有效,ACF 的值被渲染,但我在包装器中添加的属性消失

了我试图更改过滤器的优先级,但这不是问题所在。我也尝试查看 ACF 设置,但似乎我无法仅更改某些设置来更改此行为。

这是我做的过滤器

if (!function_exists('my_acf_span_property')) {
function my_acf_span_property($value, $property) {
$value = '<span property="' . $property . '">' . $value . '</span>';
return $value;
}
}
if (!function_exists('my_acf_industry_value')) {
function my_acf_industry_value($value)
{
return my_acf_span_property($value, 'industry');
}
}
add_filter('acf/format_value/name=industry', 'my_acf_industry_value');

我为需要更改的每个 ACF 制作了一个过滤器,这只是一个例子。

我尝试调试过滤器,在函数my_acf_span_property中将return $value;更改为return htmlentities($value);,并且属性在前端呈现。

预计产出将<span property="industry">ACF value</span>但是笏被渲染是<span>ACF value</span>

这可能是元素问题?

知道吗?

我用一个允许帖子中的属性的操作解决了

if (!function_exists('allow_property_attribute')) {
function allow_property_attribute() {
global $allowedposttags, $allowedtags;
$newattribute = "property";
$allowedposttags["span"][$newattribute] = true;
$allowedtags["span"][$newattribute] = true;
$allowedposttags["div"][$newattribute] = true;
$allowedtags["div"][$newattribute] = true;
$allowedposttags["p"][$newattribute] = true;
$allowedtags["p"][$newattribute] = true;
}
}
add_action( 'init', 'allow_property_attribute' );

看起来WordPress是我的问题,而不是Elementor或ACF。

最新更新