Всем привет! На сайте Wordpress пытаюсь отобразить во фронтенде картинку, которую загружаю через собственную настройку в родном кастомайзере. Работает только такой вариант:
<img src="<?php echo get_theme_mod('logo'); ?>"/>
Но мне бы хотелось через get_option, который, говорят, быстрее работает. Но вот так:
<img src="<?php echo get_option('logo'); ?>"/>
не получается. Пишет <img src (unknown)>. Кто дурак? Найти в документации не могу как вывести картинку. Может вообще нельзя?
Очередные городские байки про скорость работы.
Функция get_theme_mod() использует get_option(). Вот ее код:
function get_theme_mods() {
$theme_slug = get_option( 'stylesheet' );
$mods = get_option( "theme_mods_$theme_slug" );
if ( false === $mods ) {
$theme_name = get_option( 'current_theme' );
if ( false === $theme_name )
$theme_name = wp_get_theme()->get('Name');
$mods = get_option( "mods_$theme_name" ); // Deprecated location.
if ( is_admin() && false !== $mods ) {
update_option( "theme_mods_$theme_slug", $mods );
delete_option( "mods_$theme_name" );
}
}
return $mods;
}
Чтобы достать ваше значение через get_option(), придётся проделать то же самое.
Не слушайте вы этих "знатоков".
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники