Главная Новости

Шорткод wordpress

Опубликовано: 23.08.2018

видео Шорткод wordpress

WP Фрэймворк Alethemes #13. Как сделать шорткод на WordPress. How to create a shortcode for WP.

Здравствуйте уважаемые начинающие программисты.



Что такое шорткод (shortcode)?

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

А по простому — это маленький php код, в который можно «засунуть» любой html элемент, вставить всё это в файл functions.php, а затем с помощью совсем маленькой метки, выводить этот элемент в любой части контента.


Как добавить новые функции в functions.php WordPress - ShortCode API

Мало того. Этому html элементу, можно задать class, и в файле style.css сделать любое внешнее оформление.

Представляете перспективы?

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

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

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

Вот эти метки и имеют название «шорткод».

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

function main_cod () { return 'Привет'; } add_shortcode ('shortcod', 'main_cod');

Вот и весь основной код. Разберём по косточкам.

В первой строке — пользовательская функция. Пользовательская — это значит, что название ей Вы придумываете самостоятельно.

Подробнее про то как даются названия, и вообще про функции php можно почитать в статье Функции php .

Во второй строке, в одиночных кавычках, вставляется то, что Вы хотите выводить на страницах сайта.

У меня там просто слово Привет, но вместо него, как я уже говорил, можно вставить любой html элемент. Ну например бегущую строку:

function main_cod () { return '< marquee >бежим бежим< /marquee >'; } add_shortcode ('shortcod', 'main_cod');

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

Сам же он выглядит так:

[shortcod]

Имя у него может быть любым, не обязательно именно shortcod. Желательно, чтоб это имя отображало то, что данный шорткод выводит.

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

В функцию можно прописать и сразу несколько html элементов. Например меню одним тегом не сделаешь.

function main_cod () { return ' < ul class =" meny "> < li class =" html ">< a href =" http://address post ">Курс HTML< /a > < ul > < li >< a href =" http://address post ">Урок 1< /a >< /li > < li >< a href =" http://address post ">Урок 2< /a >< /li > < li >< a href =" http://address post ">Урок 3< /a >< /li > < li >< a href =" http://address post ">Урок 4< /a >< /li > < /ul > < /li > < /ul >'; } add_shortcode ('shortcod', 'main_cod');

Оформить это меню можно в файле style.css, так как тегам ul и li заданы классы. Но можно прописать стили прямо в теле функции, добавив туда тег style.

function main_cod () { return ' < style > .meny { background : #fdeaa8 ; padding : 2px ; border-radius : 5px ; box-shadow : 0px 0px 0px 2px #0ea8f4 ; width : 785px ; height : 35px ; } .html { float : left ; margin : 3px 3px 3px 3px ; width : 190px ; } < /style > < ul class =" meny "> < li class =" html ">< a href =" http://address post ">Курс HTML< /a > < ul > < li >< a href =" http://address post ">Урок 1< /a >< /li > < li >< a href =" http://address post ">Урок 2< /a >< /li > < li >< a href =" http://address post ">Урок 3< /a >< /li > < li >< a href =" http://address post ">Урок 4< /a >< /li > < /ul > < /li > < /ul >'; } add_shortcode ('shortcod', 'main_cod');

Код меню я представил не полностью, чтоб не занимать место в статье, только для примера, чтоб понять как работает шорткод, что и является целью этой статьи.

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

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

Теперь несколько примеров со встроенными php функциями. Напомню, что встроенная — это функция уже имеющаяся в языке php, и решающая определённую задачу.

Скрываем часть контента от незарегистрированных пользователей

В файл functions.php, в самый конец вставляется следующий код:

function member_check_shortcode () { if ( is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return ''; } add_shortcode ('member', 'member_check_shortcode');

Закрываемый текст оборачивается в конструкцию

[member]Закрываемый фрагмент контента[/member]

Функция member_check_shortcode проверяет регистрацию посетителя Вашего сайта, и в зависимости от этого скрывает или нет выделенный фрагмент контента.

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

Показываем часть контента только незарегистрированным пользователям

function guest_check_shortcode ( $atts, $content = null ) { if ( !is_user_logged_in() && !is_null( $content ) && !is_feed() ) return $content; return ''; } add_shortcode ('guest', 'guest_check_shortcode');

Соответственно шорткод будет выглядеть так:

[guest]Показываемая часть контента[/guest]

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

Желаю творческих успехов.

Что такое PHP < < < В раздел > > > Как закрыть сайт на обслуживание без плагина

rss