Redux Framework — Фильтр пользовательских шрифтов

Я пытаюсь передать массив пользовательских шрифтов тому, что я считаю фильтром custom_fonts в Redux Framework, пока эта установка возвращает ошибку:

Предупреждение: неверный аргумент указан для foreach () в ….

Мой фильтр:

add_filter('redux/theming/field/typography/custom_fonts', function ( $array ) {

$array = array(
"foo" => "foo font",
"bar" => "bar font",
);

return $array;

});

Ядро Redux, которое, кажется, обрабатывает custom_fonts при прохождении:

if ( $this->field['custom_fonts'] !== false ) {
$this->field['custom_fonts'] = apply_filters( "redux/{$this->parent->args['opt_name']}/field/typography/custom_fonts", array() );
if ( ! empty( $this->field['custom_fonts'] ) ) {
foreach ( $this->field['custom_fonts'] as $group => $fonts ) {
$this->parent->font_groups['customfonts'] = array(
'text'     => $group,
'children' => array(),
);
foreach ( $fonts as $family => $v ) {
$this->parent->font_groups['customfonts']['children'][] = array(
'id'          => $family,
'text'        => $family,
'data-google' => 'false',
);
}
}
}
}

Код выше в исходном файле: https://github.com/reduxframework/redux-framework/blob/188ddf5a5bd86314775f872553ad6af6f07b51ed/ReduxCore/inc/fields/typography/field_typography.php#L903

Мои данные передаются в фильтр, так как он пытается обработать их через foreach, но не знаю точно, почему они могут сломаться. Кто-нибудь может прояснить, что, может быть, мне не хватает?

0

Решение

Это потому, что вы возвращаете массив в неправильном формате.

Попробуйте это:

$array = array(
"custom_fonts"=> [
"foo" => "foo font",
"bar" => "bar font",
]
);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru