Запланировать изменения логотипа сайта?

Я пытался поискать, но не удалось.

Есть ли плагин для автоматической смены логотипа сайта на определённый период времени? Я видел, как некоторые сайты делают это на Хэллоуин и Рождество. Мы сделали это для Pride в этом месяце, но пришлось делать вручную.

Специального плагина для этого не существует, но, как мне кажется, можно использовать трансформатор значений home-logo-image-url. Поэтому, возможно, вы сможете создать небольшой компонент темы, который:

  1. Загружает ваши сезонные логотипы в виде ресурсов темы
  2. Использует api.registerValueTransformer("home-logo-image-url", ...) для возврата URL-адреса сезонного логотипа, если текущая дата попадает в настроенный вами период, и URL-адреса логотипа по умолчанию в противном случае

Это было бы полезным дополнением к экосистеме компонентов темы! :slightly_smiling_face:

На самом деле, я быстро попробовал это сделать:

Если вы хотите это протестировать, сообщите мне, работает ли это как ожидалось, и тогда я его немного улучшу.

Ого, спасибо!

Есть ли способ изменить только один из логотипов? Например, наш сайт устроен так (не знаю почему, просто унаследовали), что основной логотип — это текст, и мы его не меняем. Мы меняем только маленький логотип.

Конечно, в качестве обходного пути мы могли бы просто заменить основной логотип на ту же самую картинку, но это немного кривовато. P.S.: Подумав об этом, я понял, что это было бы совсем не идеально. Если основной логотип будет изменен официально, то кто-то должен будет помнить, чтобы также изменить дубликат в компоненте.

Кроме того, названия немного не совпадают. Похоже, что первый логотип в настройках сайта называется «Основной логотип» с подзаголовком «Отображается в верхней навигации сайта, а также вверху уведомлений по электронной почте сайта». В то время как в плагине написано «Логотип» с подзаголовком «Основной логотип, отображается на рабочем столе в светлом режиме». Разве что я просто неправильно понял, что вполне возможно.

Зависит от того, где вы смотрите. В разделе admin/logo действительно написано «основной логотип», но во всех остальных настройках сайта — нет.

Настройки компонентов не связаны с настройками основного сайта, то есть они не синхронизируются. Тем не менее, я заменил main на primary, так как это, насколько я помню, последнее добавление.

Да, это действительно хорошая идея, честно говоря. Единственный недостаток в том, что я не могу принудительно выбрать вариант «любой», поэтому администратор должен убедиться, что для работы компонента установлен хотя бы один логотип.

Опубликовал тему здесь: