Как изменить логотип сайта из настроек админки WordPress?
Мне нужно в настройках админки сделать страницу, на которой будет возможность изменять Логотип сайта.
Страницу я сделал, но как добавить сюда поле для загрузки картинки и после вывести его на место логотипа не знаю.
Как добавить поле для загрузки картинки?
Как вывести эту картинку на место логотипа?
Дополнительно:
Логотип сайта задаётся в кастомайзере.
"логотип и копирайт должны редактироваться в настройках админки на странице Options"
Ответы:
https://wordpress.org/plugins/custom-site-logo/
Перепишите под свои нужды
- При активации плагина напротив него и остальных появляется предупреждение ( Warning: count(): Parameter must be an array or an object that implements Countable in C:OpenServerdomainsnamewp-adminincludesclass-wp-list-table.php on line 622 )
И после на сайте выводиться ошибка что функции для вывода логотипа csl_CustomSiteLogo_show_logo() не существует
Из-за чего могут появиться эти ошибки?
Перейти на главную страницу сайта, при этом надо быть залогиненным. В верхней левой части сайта нажать "Настроить"
После чего в левой части выбрать подходящий пункт меню, в зависимости от шаблона который установлен. У меня это Заголовок сайта - изменить логотип
Добавляет возможность загрузить картинку логотипа в настройках темы в админке. Информация
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос



Если задача именно “логотип сайта”, правильнее использовать стандартный Customizer WordPress, а не делать свою отдельную страницу настроек. WordPress уже умеет хранить логотип через
custom_logo, а тема может выводить его черезthe_custom_logo(). Это привычно для администраторов и совместимо с большинством тем.Минимальная поддержка логотипа в теме:
add_action('after_setup_theme', function () { add_theme_support('custom-logo', [ 'height' => 80, 'width' => 240, 'flex-height' => true, 'flex-width' => true, ]); });
Вывод в шаблоне:
if (function_exists('the_custom_logo') && has_custom_logo()) { the_custom_logo(); } else { echo '<a href="' . esc_url(home_url('/')) . '">' . esc_html(get_bloginfo('name')) . '</a>'; }
Если всё-таки нужна отдельная страница в админке, то поле загрузки картинки обычно делают через WordPress Media Uploader: сохраняете ID вложения в option, а на фронте получаете URL через
wp_get_attachment_image(). Не храните просто URL, лучше хранить attachment ID — тогда будут доступны alt, srcset и размеры.Но мой совет: если нет жёсткого требования от заказчика, используйте штатный логотип в кастомайзере. Если нужна кастомная страница, делайте её как обёртку над той же настройкой или храните option с ID изображения, но не ломайте стандартный механизм темы.