Ваш путь: Главная » Сниппеты, хаки, функции » текущая страница

возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено 2024-02-13 в теме: Сниппеты, хаки, функции
Запросто с WordPress создание и продвижение сайтов ATs media

Использование виджетов WordPress – добавить и настроить абсолютно в любом месте сайта

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

Нынче мы зарегистрируем в админке – на панели виджетов – свой собственный: а точнее узнаем как зарегистрировать свою панель виджетов.

Плюсы: у нас появится в разделе “Виджеты” своя собственная панель. Однако фишка не в этом. А в том, что в эту панель возможно поместить любой имеющийся в арсенале сайта виджет и вывести его абсолютно в любом месте! Абсолютно любую функцию в этом виджете. А енсли использовать текстовый вариант виджета, то это обусловить безграничные возможности.

Начнём концерт:


 

 

 

 

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

 

 

 

 

Использование виджетов WordPress — добавить и настроить абсолютно в любом месте сайта

Добавим информационные блоки (по типу спойлер) в любое место сайта — без плагинов: легко и просто.

 

 

 

В принципе много для чего! – множество задач возможно решить с помощью именного виджета.

 

 

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

 

И чтобы как-то облегчить сию задачу – призвана тема этого поста.

 

 

Итак: с помощью кастомного виджета можно, к примеру, в финале статьи вывести абсолютно любые сообщения: похожие по теме записи рубрики… автора поста, ту же рекламу и прочее и прочее… Также просто возможно обогатить виджетом совершенно любую произвольную страницу сайта, например, любую из страниц “Обратной связи”, “404-й ошибки”, “Формы подписки” и что прелестно – лендинг, который создаётся всего-то в ядре стороннего дополнительного файла(в) шаблона (как это делается легко и просто, опишу в одной из следующих статей).

 

 

В общем на что только хватит личной смекалки, то и обыграете посредством нашего кастомного виджета…

 

к тому же – непременно воспользуйтесь условиями вывода функций для более тонкой организации вывода/запрета показа нашего созданного виджета на избранных страницах сайта (в статье по ссылке много полезных переходов)..!

 

 

 

Предположим, не могу сдержаться… чтоб не прорекламировать себя…

 

…все мы знаем, что в текстовых виджетах вордпресс невозможно пользоваться функциями или шорткодами: отработка php и шорткодов (коротких кодов) в виджетах запрещена! Это очень печально, ибо ограничивает возможности администратора! Ведь именно текстовый виджет – если в него поместить какую-то полезную функцию php – позволит несказанно дополнить дизайн и функционал сайта.

И вот чтоб разом решить проблему отработки php функций и шорткодов в виджетах, я когда-то написал плагин widget text class ats …установив который, ваша тема обретёт новый текстовый виджет, а с ним новые возможности.

 

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

 

Никаких конфликтов!

 

О плагине widget text class ats можно прочесть на официальной страничке.

 

 

 

Кто-то воскликнет, мол, это запросто выполнить напрямую в коде! Да, но не всем под силу постоянные копания в скриптах… и нет желания постигать глубины кодировок. А начальные знания так или иначе присутствуют у каждого из нас.

 

 

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

 

Уверенно предположу лишь одно, что, если код шаблона выполнен без ошибок и в соответствии c нынешним стандартам php 8.0 то и сайт будет грузиться легко и быстро, не смотря ни на какие лишние добавления функций, или плагинов.

 

Сайт тормозит ошибочный и громоздкий код!

 

 

Ладно! приступим:

 

 

 

как зарегистрировать свою панель виджетов

 

 

 

 

Кстати статьи будет не лишним высказаться о работе хостингов – их мощности – ведь именно сила хоста также может выступать виною тормоза загрузки страниц! – и, чтобы нещадно не кастрировать свой сайт, преследуя призрачные скоростя загрузки… – необходимо стараться избирать приличные хостинги, и не морочится всякими зависаниями: вот, например, взгляните на эту хост-пощадку: https://adminvps.ru/wordpress_hosting.php

\…а вот в этой статье я делал обзор нескольких иных приличных хостингов.

 

 

 

Используем register_sidebar() которая обусловит регистрацию панели (некий контейнер) для виждетов;

Обыграет уникальный формат для каждого виджета;

Тег заголовка html.

 

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

 

А уж затем, запросто сможем вывести (условно – панель) с виджетами в любом месте шаблона! в этом нам поможет функция dynamic_sidebar().

 

 

 

В общем, и короче: функцию регистрации… нужно подключать к событию WP widgets_init.

 

 

 

Для того, чтоб успешно зарегистрировать новую панель для виджетов, нужно поместить следующий код в активный файл functions.php своего шаблона – например, в или куда там вы помещаете… по этому поводу размещения кода функций можно почитать ЭТУ статью.

 

 

 

add_action( 'widgets_init', 'register_moy_widgets' );
function register_moy_widgets(){
register_sidebar( array(
'name' => "...боковая панель сайта",
'id' => 'moy-sidebar-left',
'description' => 'Виджеты будут показаны в колонке сайта, либо в требуемом месте во фронтэнде...',
'before_title' => '<h2>', // возможно изменить на div class="widgettitle" - либо какой-нить id колассы
'after_title' => '</h2>'
) );
}

 

 

Пояснения: параметры $args

 

 

name – имя панели виджетов.

 

id – уникальный – идентификатор виджета

 

description – описание работы виджета.

 

before_title и after_title – класс (hTML – заголовок виджета: до/после), котором будет завёрнуто имя виджета – фронтэнд. Одним словом, обыгрывайте всё со стилистикой своей темы. Вольно!

 

…что важно, идентификатор переданный в параметре ID – зададим его по своему усмотрению… Сколько угодно…

 

 

 

 

 

как вывести виджет в любом месте сайта?

 

 

 

 

Так как у нас пост о том, как вывести виджет в любом месте страницы сайта, рассмотрим соответствующий пример…

 

 

можно оставить как есть: т.е выводить в дополнительную колонку виджетов… это если у вас один сайдбар, то можно сделать два… или там футерный…

 

 

 

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

 

 

 

<?php
if ( function_exists('dynamic_sidebar') )
dynamic_sidebar('moy-sidebar-left');
?>

 

 

 

Конечно же, всё это нужно обставить стилями своей темы.

 

 

 

Если моё изложение показалось скупым: милости прошу – задавайте вопросы в комментариях… помогу…

 

 


mihalica.ru

 


На этом занавес представления опускается…
…на рампы пыль печальная ложится…

 


!..подписываясь на обновления mihalica.ru
...расстаёмся с невежеством..!



подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©


  1. А вот вопрос: Как сделать панель виджетов на самом краю сайта? Например: вот у меня шаблон в три колонки, правая левая и контент посередине. Шаблон не вовсю ширину экрана, а узкий. По краям фон. А как сделать дополнительную колонку виджетов с самого края экрана или это не возможно?. Надеюсь меня поняли!?

    Ответить - Михаил

    • Здравствуйте Михаил!
      В принципе понял вас. Вопрос ваш решаем… только насколько просто или чуть сложнее зависит от решения вашего шаблона.
      С CSS придётся немного поработать (решить вопрос мобильного отображения сайта и т.п.) – в общем, если решать посредством CSS, то потрудиться придётся: блоки виджетов выводить за div-class контента… и т.д. тогда колонка виджетов выведется у края экрана монитора.
      Или вы хотите банально добавить 4-ю колонку (сбоку)?

      Ответить - Михаил