Display widgets не работает

AH Display Widgets

Плагин позволяет скрывать или наоборот отображать виджеты по условию, т.е. в зависимости от текущей страницы сайта.

Он пригодится, например, когда нужно:

  • скрыть виджет поиска на странице с результатами поиска.
  • скрыть виджет последних записей на главной странице сайта
  • скрыть виджет на определенной языковой версии сайта (при использовании плагина WPML)
  • и т.д.

Причин скрывать виджет на конкретной странице может быть тысячи: начиная от юзабилити заканчивая дублированием контента.

Display Widgets — простой в освоении плагин и отлично выполняет свою задачу, удобен для тех, кто не знает как использовать условные теги WordPress (считай, программировать) — все делается мышкой в админке.

Настройки виджета

После активации плагина к оригинальным настройкам виджета добавляются три новых:

  • Выбор, кому показывать виджет — всем пользователям, или только авторизованным (вошедшим), или только неавторизованным (не вошедшим).
  • Что делать с виджетом — скрывать или отображать по условию, которое зададим ниже.
  • В каком разделе сайта применять правила, указанные в пункте 1 и 2.

По умолчанию всегда выбрано «Скрыть на выбранных страницах», потому после активации плагина ничего не произойдет и виджеты будут отображаться как и раньше. Чтобы скрыть виджет ему нужно указать условие скрытия.

Читайте также:  Android не работает с сервисами google

Пример скрытия виджета

Большинство тем WordPress построены так, что на главной странице выводятся последние (свежие) записи и дополнительно в сайдбаре отображается виджет «Свежие записи», который по сути дублирует ленту. Избавимся от него, но только на главной странице — на других страницах он полезен. Для этого зайдем на страницу с виджетами и отредактируем с условием нашей задачи, а именно:

  • Показывать виджет всем
  • Скрыть на выбранных страницах
  • Ставим галочку на пункте «Главная»

Теперь на главной странице виджет не отображается, а на всех остальных он присутствует. Примеров можно привести много (5 примеров присутствуют в видео), но суть работы с плагином неизменна.

Подобные настройки доступны для любого виджета, как стандартного, так и предоставляемые темой, плагинами или самописные.

Пользоваться плагином AH Display Widgets несложно и для неискушенного программированием администратора он сослужит добрую службу.

Недостатки

  • Непрозрачное поведение при указании правил для рубрик
  • В списке нет Записей , приходится вписывать их ID вручную. Впрочем, это не совсем недостаток, потому что чтобы за список получился, когда на сайте несколько тысяч записей?

Вопросы и ответы

Почему я не вижу настроек у виджетов

Это известное ограничение. Виджеты, написанные в pre-2.8 формате не имеют хуков, позволяющие AH Display Widgets управлять виджетами.

Мои виджеты не отображаются при активации

Это возможно при работе с некоторыми плагинами или темами. Чтобы скорректировать такое поведение виджетов, добавьте в functions.php темы или файл плагина следующий код:

Restrict Widget — еще плагин для скрытия виджетов

Restrict Widgets — еще один плагин по логике копия Display Widgets. Только более новый плагин от компании dFactory.

Widget Logic — еще плагин для скрытия виджетов

Widget Logic — плагин для тех, кто знает что такое условные теги и с чем их едят. Этот плагин с большими возможностями.

Условия тут задаются как и в AH Display Widgets — на странице виджетов, но не мышкой, а нужно вписывать сами условные теги или PHP условия, именно за счет этого в Widget Logic можно создавать сложные условия, хотя как правило это не нужно.

Примеры условий

is_home()
главная страница сайта

! is_page(‘about’)
везде кроме страницы about

! is_user_logged_in()
показать когда юзер не авторизован

is_category( array(5,9,10,11) )
показать в любой из указанных категорий: 5,9,10,11

is_single() && in_category(‘baked-goods’)
показать на отдельной странице записи и только если запись находится в рубрике ‘baked-goods’

current_user_can(‘manage_options’)
только для администратора

strpos($_SERVER[‘HTTP_REFERER’], «google.com») != false
показать виджет, только если пользователь пришел из поиска Гугл

is_category() && in_array($cat, get_term_children( 5, ‘category’))
показать на странице рубрики 5 или на любой вложенной в нее рубрике

global $post; return ( in_array(77,get_post_ancestors($post)) );
на любой дочерней странице, страницы 77

  • global $post; return ( is_page(‘home’) || ($post->post_parent == ’13’) );
    на странице ‘home’ или дочерней странице, страницы 13
  • я тоже такой делал но с интерфейсом https://github.com/petrozavodsky/bro-widget-visibility из модуля джетпака, но там факап с несколькими условиями может кому то интересно будет. Хотя джетпак уже подтянулся до этой функциональности наверное не нужно уже.

    Ставить Джетпак ради такой фишки навряд ли будут, так что спасибо за форк!

    Что-то я запутался в дублях плагина, который шпиона вшивал. Плагин с приставкой AH безопасный?

    Я гарантию не даю. Но вроде да, он в офф репе, а там выявленные правонарушения сразу удалются.

    Источник

    Display Widgets — показываем/скрываем виджеты на страницах

    Когда-то я рассматривал в блоге плагин Widget Logic который позволяет добавить условный оператор для виджетов. Вы могли указать что-то вроде !is_page(15) в специальном поле для того или иного виджета, и он бы не отображался на странице с Однако такой подход понятен не для всех категорий пользователей. Если редактор/администратор WordPress не силен в PHP и сложен в обучении, проще установить модуль Display Widgets.

    Обновление 6.02.2018: Сейчас данный плагин уже недоступен, поэтому советую перейти на Widget Logic. Он оперативно обновляется и отлично работает. По ссылке детальный обзор.

    А если нужно добавить виджеты на страницы в WordPress непосредственно внутрь конента — вам понадобится Amr Shortcode Any Widget.

    Display Widgets позволяет легко и наглядно управлять отображением виджетов на тех или иных страницах, разделах, пользовательских категориях и даже языковых версиях. Установка модуля стандартная, для него требуется версия WP от 3.1, при этом он совместим до 3.8.3. Я тестировал работа на 3.4.2., поэтому, к сожалению, не могу сказать как плагин работает на последних версиях.

    После установки Display Widgets в блоке виджета вы увидите дополнительные поля.

    Здесь, например, в виджете «Облако тегов» вы можете выбрать:

    • для какой группы пользователей его показывать: всех (everyone), залогиненных (logged-in users), незалогиненных (logged-out users);
    • показывать (show on checked pages) или скрывать (hide on checked pages) виджеты на отмеченных ниже публикациях. А ниже, собственно, прилагается их список.

    С переводами и локализацией, как видите, у разработчиков немного туго, но, думаю, вы догадались, что «одна запись» это single page, а «лицо сайта» — front page.

    Как я уже сказал выше, с помощью виджета Display Widgets вы можете показывать/скрывать виджеты на страницах:

    • разных типов: архивы, блог, главная;
    • рубрик / категорий;
    • конкрестных выбранных страниц: «Контакты», «О компании» и какие у вас там еще есть;
    • отдельных постов (указывается по ID).

    Работу плагина для мультиязычных сайтов я не проверял. В целом плагин полезный.

    Источник

    Как исправить проблемы с виджетами Android

    Один из самых интересных вариантов и в то же время много раз теряемый в Android телефоны — это виджеты, которые позволяют нам иметь под рукой очень полезные функции, которые упрощают использование мобильного телефона, мгновенно предоставляют нам информацию и имеют бесчисленные возможности. Однако, помимо этого, мы часто сталкиваемся с проблемы в виджетах и мы хотим, чтобы они не повторялись на вашем смартфоне.

    Хотя некоторые мобильные телефоны имеют определенные особенности при работе с виджетами, правда в том, что большинство проблем и решений являются общими для всех устройств Android, независимо от их версии. Как только вы обнаружите свою ошибку, попробуйте основные решения или иным образом попытайтесь исправить ее с помощью остальных возможностей.

    Виджеты не отображаются на моем мобильном телефоне

    Вопрос и запрос, которые мы чаще всего находим в социальных сетях и на форумах, связаны с отсутствием виджетов на мобильном телефоне, что не должно быть проблемой ни в одном из случаев, даже когда мы установили новую программу запуска, изменив смотрю. Виджеты Android всегда должны присутствовать, хотя причины, по которым их нет на нашем мобильном телефоне, и их соответствующее решение будут меняться.

    Виджеты приложения исчезли

    В случае исчезновения виджета или нескольких приложений из одного и того же приложения это наиболее распространенный случай, связанный с ошибкой программиста в приложении. Иногда достаточно зажать экран или удерживать палец на главном экране. изменить положение виджета в желаемом месте, но в других случаях этого недостаточно.

    Если после попытки первого шага мы не можем получить доступ к виджетам определенного приложения, нам придется перейти к Гугл игры и обновите приложения. Затем мы собираемся перезапустить мобильный телефон, и когда мы его включим, мы повторим шаги, поскольку просто так проблема будет решена. Если виджет по-прежнему не появляется, скорее всего, разработчик удалил виджет из приложения, поэтому мы можем попробовать те же шаги позже.

    Виджеты не загружаются на мобильный

    Другая из наиболее распространенных проблем и ошибок с наиболее распространенными виджетами, из-за которых виджет не отображается должным образом, связана с ошибка самого виджета . Это может появиться в тех, которые мы уже разместили, и в тех, которые мы добавляем новые. Ошибка может показать виджет без информации, показать нам проблему или, в других случаях, заставить ее исчезнуть.

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

    Проблемы с размером виджетов

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

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

    Невозможно добавить виджеты на Android

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

    Нам нужно будет избежать этих ограничений только на несколько секунд, чтобы иметь возможность разместить наш виджет там, где мы хотим, а позже мы сможем снова заблокировать его. Это будет происходить следующим образом:

    • Зажимаем экран.
    • Выбираем Настройки.
    • Внутри мы должны снять галочку с опции «Блокировать дизайн главного экрана».
    • Теперь возвращаемся назад и в Виджеты выбираем и помещаем тот, который хотим.
    • Чтобы положение виджета или значков не изменилось, мы повторно блокируем дизайн с помощью этих шагов.

    Что, если все вышеперечисленное не поможет?

    Когда мы выполнили все предыдущие методы, чтобы попытаться покончить с проблемами виджетов в Android без всякого успеха, мы должны приступить к работе и предпринять шаги, которые мы развиваем. Прежде всего, важно, чтобы мы сделали все, что нас волновало, и чтобы вы увидели, что мы пропустили какой-либо процесс, они упомянуты здесь:

    • Обновите приложение-виджет.
    • Перезагрузите мобильный.
    • Настройте виджет из приложения.
    • Добавить новую домашнюю вкладку.
    • Измените размер виджетов.
    • Убедитесь, что экран не заблокирован.

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

    • Входим в настройки Android.
    • Мы получаем доступ к приложениям.
    • Нажмите на приложения-виджеты, у которых есть проблемы на Android.
    • Заходим в раздел Хранилище и / или память.
    • Мы выбираем очистить кеш, а затем очищаем данные.
    • Мы выходим и снова получаем доступ к приложению, чтобы настроить его.

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

    Источник

    Оцените статью