Как изменить логотип сайта из настроек админки WordPress?

Ссылка скопирована
1 ответ

Мне нужно в настройках админки сделать страницу, на которой будет возможность изменять Логотип сайта.
Страницу я сделал, но как добавить сюда поле для загрузки картинки и после вывести его на место логотипа не знаю.
Как добавить поле для загрузки картинки?
Как вывести эту картинку на место логотипа?

Как изменить логотип сайта из настроек админки WordPress?

Дополнительно:

Логотип сайта задаётся в кастомайзере.

  • Refguser, он же говорит , что ему необходимо в этой оьласти
  • maksam07, а я говорю, что не надо плодить сущности и вводить в заблуждение будущих админов. Нужно делать правильно.
  • Refguser, возможно ему один из админов и сказал так сделать и никак иначе. Кто его знает, нам автор подробностей задачи не рассказал. Зато если потребуется переделать, то у автора снова будет работа)
  • Refguser, Да это легче сделать в кастомайзере, и админу привычней и мне легче но просили сделать именно так
    "логотип и копирайт должны редактироваться в настройках админки на странице Options"
  • Queen2, если кто-то "просит" сделать нечто не адекватное - нужно сперва попытаться объяснить им что есть стандарты и требования. А если не понимают - не работать с такими. Дороже выйдет. Проверено годами.
  • Refguser, если уверенно хотят костылить и платят, то почему бы и не работать. А потом за две цены переписать в нормальный вид)
  • maksam07 насчёт "две цены", "потом" это влажные мечты. А порядочность выглядит так, как я описал выше.
  • Refguser, ну пусть не будет 2 цены. Заказчик хочет именно так, значит пусть так и будет реализовано. Может ему до конца жизни такое решение будет служить
  • Ответы:

    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() не существует

      Из-за чего могут появиться эти ошибки?

    Перейти на главную страницу сайта, при этом надо быть залогиненным. В верхней левой части сайта нажать "Настроить"

    Как изменить логотип сайта из настроек админки WordPress?

    После чего в левой части выбрать подходящий пункт меню, в зависимости от шаблона который установлен. У меня это Заголовок сайта - изменить логотип

    Как изменить логотип сайта из настроек админки WordPress?

    Добавляет возможность загрузить картинку логотипа в настройках темы в админке. Информация

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Дмитрий К. Ответ

    Если задача именно “логотип сайта”, правильнее использовать стандартный 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,
        ]);
    });

    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>';
    }

    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 изображения, но не ломайте стандартный механизм темы.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно