У меня есть эти сериализованные данные в моей таблице wp_option.
Я хотел бы создать функцию для извлечения данных (get_option), а затем применить фильтр, чтобы изменить значение «http://mywebsite.com/wp-content/uploads/2016/03/logo.png«во что-то еще …
(146, ‘theme_mods_theme-child’, ‘a: 9: {i: 0; b: 0; s: 8: «bg_color»; s: 7: «# ef4036»; s: 11: «header_logo»; s: 65:»http://mywebsite.com/wp-content/uploads/2016/03/logo.png«; S: 14:» menu_no_switch «; s: 0:» «; s: 10:» main_color «; s: 7:» # ef4036 «; s: 18:» nav_menu_locations «; а: 1: {s: 11 : «header-menu»; i: 2;} s: 9: «авторское право»; s: 77: «nom nom nom nom»; s: 7: «credits»; s: 66: «la la la la»; s: 8: «боковые панели»; s: 51: «Audio1 | Audio2 | Audio3 | Audio4 | News1 | News1 | News2 | News3 | News4»;} ‘,’ yes ‘),
Вам нужно использовать apply_filters
добавить фильтр к переменной.
Во-первых, получить массив опций из базы данных с get_option
, Затем вытащите header_logo
ключ и сохранить его в переменной.
Затем добавьте фильтр к переменной. Наконец, напишите функцию для возврата нового значения и используйте add_filter
зарегистрировать его в вашем фильтре.
// The header logo
$theme_mods_theme_child_options = get_option('theme_mods_theme-child');
$header_logo = apply_filters( 'my_header_logo_filter', $theme_mods_theme_child_options['header_logo'] );
// Do something with $header_logo
// functions.php or a plugin
function my_header_logo_filter_function(){
return 'some-new-image.png';
}
add_filter('my_header_logo_filter', 'my_header_logo_filter_function');
Других решений пока нет …