【问题标题】:ACF overrides HTML attributes added with load_value hookACF 覆盖使用 load_value 挂钩添加的 HTML 属性
【发布时间】:2019-12-22 00:04:03
【问题描述】:

我将 ACF 与 ACF Hook acf/load_value 一起使用以将自定义 HTML 包装器添加到 ACF 值。然后我使用 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); 的过滤器,并将属性呈现在前端。

预期输出为&lt;span property="industry"&gt;ACF value&lt;/span&gt; 但是呈现的是&lt;span&gt;ACF value&lt;/span&gt;

可能是 Elementor 的问题?

有什么想法吗?

【问题讨论】:

    标签: html wordpress advanced-custom-fields elementor


    【解决方案1】:

    我通过一个动作解决了帖子中的属性

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-09
      • 2011-02-08
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多