Добавьте разметку html к нескольким настраиваемым полям с помощью ACF, настраиваемые поля массива не работают - PullRequest
0 голосов
/ 16 мая 2019

Я хотел бы добавить теги h2 до и теги / h2 после нескольких полей ACF.Поля 'kopregel_onder_slider' и 'kopregel_bij_testimonials'.

Это прекрасно работает только для одного поля сразу, например:

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

Чтобы минимизировать длину кода, я хочу повторно использоватькод снова для второго поля ACF, поэтому я создал массив '$ field_name' с двумя полями ACF.

Я заменил:

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 голосов
/ 16 мая 2019

Похоже, что вы используете переменную PHP в одинарных кавычках.

PHP не будет использовать дополнительную обработку для интерпретации того, что находится внутри одинарной кавычки. когда вы используете двойные кавычки, PHP должен проанализировать, чтобы проверить, есть ли какие-либо переменные в строке.

Пожалуйста, попробуйте обновить имя фильтра в двойных кавычках, как показано ниже, и попробуйте.

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

Надеюсь, что это решит проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...