使用ACF将html标记添加到多个自定义字段中,数组自定义字段不起作用

时间:2019-05-16 12:44:22

标签: php html wordpress

我想在多个ACF字段之前添加h2标签,在/ AC2字段之后添加/ h2标签。这些字段是“ kopregel_onder_slider”和“ kopregel_bij_testimonials”。

这一次只能对一个字段有效,例如:

add_filter('acf/update_value/name=kopregel_onder_slider', 'my_acf_update_value', 10, 3);

为了最大程度地减少代码长度,我想再次对第二个ACF字段重新使用代码,因此,我创建了带有两个ACF字段的数组'$ field_name'。

我已替换:

add_filter('acf/update_value/name=kopregel_onder_slider', 'my_acf_update_value', 10, 3);

具有数组:

add_filter('acf/update_value/name={$field_name}', 'my_acf_update_value', 10, 3);

但它不起作用。

有人知道如何解决这个问题吗?

add_filter('acf/update_value/name=$field_name', 'my_acf_update_value', 10, 3);

也不起作用。

function my_acf_update_value( $value, $post_id, $field  ) {

    $field_name = array("kopregel_onder_slider", "kopregel_bij_testimonials");

    if (strpos($value, "<h2>") !== 0 ) {
        $ervoor = "<h2>";
        $erachter = "</h2>";
        $value = $ervoor.$value.$erachter;

    return $value;
    }
}

add_filter('acf/update_value/name={$field_name}', 'my_acf_update_value', 10, 3);

1 个答案:

答案 0 :(得分:0)

似乎您在单引号中使用PHP变量。

PHP不会使用其他处理来解释单引号内的内容。当您使用双引号时,PHP必须解析以检查字符串中是否有任何变量。

请尝试如下在双引号中更新您的过滤器名称并尝试。

add_filter("acf/update_value/name={$field_name}", "my_acf_update_value", 10, 3);

希望这可以解决问题。