Виджет для вордпресс задать вопрос

Как кастомизировать виджеты WordPress?

Я пишу тему на _s и использую там бутстрап.

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

Пока я придумал вот что:

1) отключить стандартные виджеты в functions.php функцией unregister_widget(‘WP_Nav_Menu_Widget’);

2) Скопировать файл class-wp-nav-menu-widget.php переименовать его дописав приставку custom

3) Отредактировать и дописать туда нужные css классы.

Не могу понять где эти классы живут.. ткните пальцем дурака. Что генерирует html разметку? Или предложите альтернативное решение.

  • Вопрос задан более двух лет назад
  • 934 просмотра

Зависит от виджета. Применительно к меню необходимо применять кастомные Walker’s, для бутстрапа есть готовый. К остальным виджетам по усмотрению. Если нужно кастомизировать только контейнер, в котором находится виджет, можно залезть в functions.php, создать там новый сайдбар \ изменить существующий (как предложили выше), и дописать там нужную разметку в свойства before_widget \ after_widget. Не забудьте указать там в списке классов %1$s %2$s — это важно. Затем есть два пути, мой и неправильный:
— жестко указываете нужные классы бутстрапа в functions.php на предыдущем этапе
— устанавливаете плагин Widget CSS Classes, и потом, при добавлении виджетов в админку, вы получите возможность указывать css-классы бутстрапа для каждого виджета. Например, каждый виджет можно представить как одну колонку. Само собой, это и есть правильный способ.

Также нужные классы можно прописать в самом шаблоне темы, «обернув» сайдбар в нужный div, если эпопея выше каким-то образом не подходит.

is_active_widget() WP 2.2.0

Определяет отображается ли указанный виджет на сайте (во фронтэнде). Получает ID панели, в которой виджет находится.

Функция получает абсолютно все активные виджеты из всех сайдбаров и ищет в них указанный виджет.

Параметр $id_base — основной

Для поиска виджета удобнее всего использовать параметр $id_base . В нем нужно указать ID виджета, который указывается в первом параметре конструктора WP_Widget, при создании виджета (см. register_widget()).

Параметр $widget_id — урезает поиск до конкретного виджета

Но он отвечает за то что вернет функция. Например, на сайте выводится виджет «Текст» и вызывается он два раза. Базовое имя у него text ( $id_base == ‘text’ ). А вот ID виджетов будут разные, создаются они как $id_base-$i++ . Т.е. $widget_id у них будут: text-1 и text-2 . Далее, если мы не укажем в поиске параметр $widget_id :

то функция вернет нам первый найденный виджет, не важно text-1 это или text-2 . Но если мы укажем параметр $widget_id :

то функция будет искать конкретный виджет: с базой ‘text’ и ID ‘text-1’.

При этом нельзя указать только параметр $widget_id без $id_base . Тогда функция вернет false. И это мне показалось странным. Может поправят в след. версиях. А в 4.7 пока так.

Параметр $callback — ненужный

Для поиска виджета, вместо $id_base можно указать параметр $callback , но там нужно передавать, массив всех экземпляров функций обратного вызова. Короче, там не понятно что передавать и про этот параметр в 99% случаев проще просто забыть.

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

Возвращает
  • ID сайдбара, например, sidebar-1 в котором найден активный виджет.
  • false — если виджет не активен (не найден ни в одном сайдбаре).
  • Вернет wp_inactive_widgets , если отключен параметр $skip_inactive и найденный виджет неактивен.

Использование

База ID виджета. База используется для создания динамического ID. Динамический нужен, потому что виджеты могут использоваться несколько раз. Этот параметр указывается при регистрации виджета в первом параметр при расширении класса WP_Widget (см. register_widget()).

Название базы каждого виджета который есть в WP по умолчанию смотрите в описании функции the_widget().

По умолчанию: false

$skip_inactive(логический) Ставим в false, чтобы искать и в неактивных виджетах. В этом случае, если функция найдет виджет в неактивных то она вернет wp_inactive_widgets .
По умолчанию: true

#1 Проверим есть ли активный виджет «Календарь»

#2 Поиск в неактивных виджетах

Допустим у нас есть виджет Текст, но он не находится ни в одном сайдбаре, а лежит в неактивной области в админке.

Обзор плагинов типа вопрос ответ для сайтов wordpress

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

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

Итак, перейдем к рассмотрению парочки плагинов типа «вопрос-ответ» для WordPress.

Плагин типа «вопрос-ответ» SabaiDiscuss для WordPress

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

Плагин WordPress SabaiDiscuss в отличие от таких, предоставляет возможность сделать целый раздел, а при наличии желания он даже может стать основой для отдельного сайта.

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

SabaiDiscuss несколько неправильно будет называть плагином – это скорее целая система с громадными возможностями:

  • создание вопросов и ответов практически на любой странице;
  • реализована система комментирования с возможностью их редактирования;
  • можно задать автоматическое заполнение тегов для вопросов;
  • разбиение категорий на иерархии;
  • есть возможность прикреплять файлы в вопросы и ответы;
  • есть простая система голосования (стрелочки вниз и вверх);
  • возможность закрывать и переоткрывать вопросы;
  • возможность сделать определённые вопросы главными;
  • система антиспама, работающая в автоматическом режиме;
  • возможность не только создавать вопросы и отвечать на них, но и задать ответ как самый корректный;
  • настраиваемая система полей;
  • определение прав пользователей;
  • функциональный редактор вопросов и ответов;
  • уведомления по e-mail обо всех изменениях по вопросу/ответу;
  • хорошая совместимость с WP темами;
  • мощные системы поиска и фильтров;
  • и многое другое.

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

Приобрести плагин можно по линку: http://codecanyon.net/item/sabai-discuss-plugin-for-wordpress/3455723
От автора вы получите два архива – sabai и sabai-discuss. Изначально заливаем содержимое первого архива обычным способом и активируем его через админку, но второй активировать отсюда не выйдет – он включается в настройках самого sabai (пункт «Questions»).

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

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

На первой вкладке – «Главные», находятся все моменты управления и визуального отображения доски с вопросами. Тут вас ждет богатый выбор цветовых вариантов отображения, управление системой репутации, управление заголовками, сортировка, работа со спам-письмами и т.п. Если вас что-то не устраивает в некоторых полях по дефолту, то при помощи редактора форм Manage Fields, который предоставляет возможность заняться конструированием собственных, меняем все под себя.

Вкладка «Права доступа» дает возможность точно распределять права для юзеров. На вкладке «E-mails» можно прописать десяток вариантов почтовых уведомлений на все случаи. После включения плагина появится страничка «Questions», которая будет вашей основной ваших вопросов и ответов. Нет необходимости в прописывании шорткодов, все можно вывести, к примеру, в меню навигации. Несмотря на большое количество настроек, работать с плагином достаточно просто. Даже если оставить практически все без изменений после активации, то и так плагин будет хорошо работать.

Плагин типа «вопрос-ответ» WP Super FAQ для WordPress

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

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

  • «Категории/Category» – все вопросы/ответы группируются по категориям, поэтому создайте здесь новую;
  • «Добавить новый вопрос/Add New Question» – на место заголовка прописывается вопрос, а в поле текста записи прописывается ответ на него. В правом столбце указывается созданная категория, после чего это все можно опубликовать;
  • «Все заданные вопросы/All Questions» – для работы FAQ нужно создать страницу в WordPress, в которую необходимо поместить следующий шорткод

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

unregister_widget() WP 2.8.0

Отменяет регистрацию виджета. Удаляет виджет по указанному названию класса виджета.

Эта функция позволяет отключить/отменить/удалить любой ранее зарегистрированный виджет в WordPress.

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

Возвращает

Использование

Название класса, который регистрирует виджет, путем расширения WP_Widget. Стандартные называния классов:

#1 Удалим виджет

Этот пример показывает как отменить регистрацию виджета Календарь. Может пригодится когда нужно заменить стандартный виджет на свой:

#2 Отключаем все стандартные виджеты WordPress

Чтобы отключить все базовые виджеты в WordPress используйте такой код:

Используйте этот код в файле темы functions.php .

#3 Отключение поддержки виджетов в WordPress

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

Но, если вам нужно отключить абсолютно все виджет разом, то лучше сделать это до того, как они будут подключены, т.е. вообще их не подключать и не вызывать событие которое подключает остальные виджеты. Для этого открепите функцию wp_widgets_init() от события init , вот так:

Кроме подключения виджетов функция wp_widgets_init() вызывает событие widgets_init на которое обычно вешаются хуки включения виджетов из плагинов. Поэтому при отключении этого хука, скорее всего и виджеты плагинов и тем работать не будут. Т.е. поддержка виджетов будет отключена полностью.

#4 Основательное отключение базовых виджетов

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

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

После установки этого кода, будут отключены все базовые виджеты, но меню виджетов в админ-панели останется рабочим. А также вы сможете написать свои виджеты с названиями PHP классов базовых виджетов: WP_Widget_Pages, WP_Widget_Search и т.д.

Как добавить FAQ-секцию с ответами на вопросы в WordPress

При запуске нового сайта для компании или продукта вам может понадобится секция с ответами на наиболее часто задаваемые вопросы от пользователей (более известная как FAQ). Некоторые веб-мастера добавляют просто список ссылок и ответов на наиболее часто задаваемые вопросы прямо на странице оформления заказов. Другие при этом выделяют под FAQ целую страницу. А есть и те, которые создают комплексный раздел на своем сайте, учитывающий все возможные вопросы, которые возникают у клиентов. В этом посте мы разберемся как создать отдельную секцию FAQ на вашем WordPress сайте.

Основной метод

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

Плагин WordPress FAQ Manager

Среди удобных способов работы с ответами и вопросами — установка плагина WordPress FAQ Manager . Этот плагин позволяет вам сформировать секцию FAQ на вашем WordPress-сайте автоматически. Также вы сможете создать категории и добавить теги к каждому из вопросов.

Вы можете скачать плагин из официального каталога расширений WordPress по это й ссылке .

Если вы не знаете, что такое плагины и как их устанавливать, посмотрите этот урок.

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

Новичкам достаточно просто установить и активировать плагин WordPress FAQ Manager. После активации вы увидите новый пункт в меню на боковой панели управления сайтом.

Работает тут все как в случае с постами: создаете темы наиболее часто задаваемых вопросов или теги для таких вопросов и ответов на них. Написание нового вопроса и ответа на него идентично созданию нового поста на сайте. Закончив написание, переходите к странице с инструкциями. Здесь есть множество шорткодов и пояснения к ним относительно того, как правильно отображать секцию с частыми вопросами и ответами на них на вашем сайте или в блоге. Вот вам полный список шорт-кодов .

Однако, этот плагин подойдет не только для новичков, но и для тех, кто хочет качественно и экономно организовать работу с вопросами клиентов. Используйте настраиваемый поиск и настройки с помощью WP_Query .

Итак, теперь вам не придется долго возиться с настройкой FAQ. Просто используйте для этой цели плагин WordPress FAQ Manager .

Еще по теме:

  • Калькулятор расчет компенсации за отпуск при увольнении Компенсация за неиспользованный отпуск при увольнении Расчет компенсации за неиспользованный отпуск при увольнении на основе трудового законодательства РФ. Этот материал распространяется на условиях лицензии Creative Commons […]
  • Специальные обязанности банков Специальные обязанности банков Органы юстиции, выдающие лицензии на право нотариальной деятельности и наделяющие нотариусов п txt fb2 ePub html на телефон придет ссылка на файл выбранного формата Шпаргалки на телефон — незаменимая вещь […]
  • Как проходит имущественный суд Раздел имущества при разводе Украина Самым конфликтным и тяжелым делом является раздел имущества при разводе, который чаще всего происходит как следствие расторжения брака (развода). Но раздел имущества не всегда связан с разводом. Раздел […]
  • Ликвидация оао славянки в 2018 году Как проводится ликвидация ОАО в 2018 году Одной из самых распространенных форм организации юридического лица является ОАО. При этом его регистрация и функционирование имеет свои особенности. Аналогичным образом обстоит дело с […]
  • Поставить машину на учет в гибдд саратов Регистрация автомобиля в ГИБДД в Саратове Регистрация авто включает в себя: проверку автомобиля инспектором Госавтоинспекции, получение свидетельства о регистрации транспортного средства (СТС), внесение отметок о регистрации в паспорт […]
  • Юридическая поддержка медицинских центров Юридическая поддержка медицинских центров Медицинский юрист: 8 (800) 100-48-14 [email protected] Лабораторная диагностика: 8 (800) 100-68-38 Пациентские регистры: 8 (800) 100-97-22 Сегодня лечебно-профилактические учреждения и их […]
  • Синельников написать письмо Синельников написать письмо >>>>> Нам выходить на следующей Замечательно написано! Читайте. >>>>> Прививка от стресса. Как стать хозяином своей жизни Эту книгу я посвящаю моей любимой жене Людмиле – самой прекрасной женщине во […]
  • Где регистрируют ип минск Минский городской исполнительный комитет 220030, Минск, проспект Независимости 8 Власть Республиканские государственные органы Комитет государственного контроля Республики Беларусь Управление КГБ по г.Минску и Минской […]