Как создаются шорткоды? Пример простого шорткода
Здравствуйте! Сегодня, как и обещал техническая часть использования шорткодов. Применение шорткодов дает возможность, прописав в редакторе одно слово, сопоставить с ним большой код.
Таким образом, можно быстро выводить рекламные баннеры, форму подписки и другие заготовленные вами шаблоны. Это может быть, как код html, так и скрипты.
Итак, как же создаются шорткоды?
Я покажу сам процесс на примере вывода строчки подписи. А вы уже по аналогии сможете создавать и добавлять другие свои шорткоды.
Итак, процесс состоит из 3 этапов:
- Подготавливается код блока, который нужно выводить в теле поста.
- Прописывается функция в файле functions.php вашей темы
- Вставка конструкции (кодовое слово)
Давайте пройдем все эти шаги создания шорткода
Подготовка кода. Например, вот код подписи html.
Его можно просто вставить в статью, как это и делается обычно или править в визуальном редакторе. Но наша задача вывести текст подписи с помощью шорткода.
Следующий шаг я сначала объясню, а потом сделаем его.
Итак, находим свою тему и в ней файл functions.php. Это можно сделать локально или из админки блога (Внешний вид — редактор).
Если не уверены, как обращаться с functions.php — делайте сначала локально (или прежде сохраните исходный functions.php.)
Открываем файл functions.php. В самом конце кода файла, перед закрывающим тегом php, имеющим вот такой вид ?> прописываем новую функцию, которая будет выводить наш шорткод.
Вот как она выглядит.
То есть, просто добавляем этот код в functions.php. Затем сохраните измененный файл functions.php, а в админке в визуальном редакторе пропишите слово avtor, заключенное в квадратные скобки. Вот так.
У вас должна после обновления страницы появится фраза «здесь ваш html код или скрипт». Если есть, значит сделали все правильно. Значит саму суть вы уже уловили.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Но нам ведь нужно вывести код подписи html? А в последствии любой другой. Не так ли?
Поэтому давайте вникнем в саму суть этой функции:
Если вы сейчас разберетесь, что за что отвечает, вы сможете создавать свои шорткоды. В данном случае, считайте, что это и есть своеобразный шаблон шорткода.
Все что нужно делать — это менять текст в одинарных кавычках, прописывать новое название для функции вывода и кодовое слово.
Первая часть функции:
Эта и есть сама функция, которая выводит заданный между одинарными кавычками текст «здесь ваш html код или скрипт».
Сама функция имеет название «my» (название вы даете сами, я назвал «my»), затем идет стандартный синтаксис кода php, (скобки) и в одинарных кавычках текст, который будет выводиться в теле поста.
Вторая часть функции:
Это параметры вывода: avtor – кодовое слово, my – как вы уже знаете, название функции.
То есть, в нашем случае, как все работает? Вы обновили файл functions.php с уже прописанной новой функцией и прописали в редакторе админки в квадратных скобках слово avtor.
И вот, в теле поста появилась строчка «здесь ваш html код или скрипт»
Еще раз давайте уясним этот момент. У нас есть функция «my», при обращении к которой с помощью слова «avtor», в теле поста всегда появится то, что прописано в одинарных кавычках.
Вот такой принцип. Теперь по аналогии, чтобы нам вывести подпись, нужно в одинарные кавычки вставить код.
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
Получится следующее
Сохраняем functions.php, обновляем.
В визуальном редакторе, в нужном месте прописываем слово avtor в квадратных скобках. Функция в теме прописана и команда для вывода текста дана.
Делаем все по аналогии с любым другим кодом
Теперь по аналогии можно сделать шорткод для вывода, например, рекламы google или Яндекс. Нам нужен будет код рекламы, затем дать название функции вывода и задать кодовое слово.
Внимание! Для нового шорткода дается новое название функции и новое кодовое слово.
- Для этого идете в админку google adsense или profit-partner, забираете код рекламного блока.
- Опять открываете functions.php, добавляете перед закрывающим тегом новый шорткод. Можете скопировать уже имеющийся и сделать его правку.
- В одинарные кавычки нужно вставить рекламный код.
- Вместо функции «my» придумываете новую, например «google», меняете дважды в первой части кода и во второй.
- Затем придумываете кодовое слово «googlereklama».
- Сохраняете functions.php, обновляете (если локально делаете изменения).
- Пишете в теле поста в googlereklama и у вас появляется реклама.
Qwertypay-Заработок в партнёрках!
Qwertypay – Агрегатор партнерских программ. Регистрируйся и зарабатывай!
specialist.qwertybiz.com
Итак, по аналогии, все что вы придумаете. Например, форму подписки, баннер партнерки, форму Смартреспондера.
В этом деле самая сложная часть – это 1 шаг, а дальше все по шаблону. Даете название функции вывода, текст вывода (код) и кодовое слово.
Цель моего поста показать, как работает шорткод в его простейшей форме, потому что функции могут быть и посложнее. Но саму суть вы должны были уловить.
А я своим подписчикам сделаю подарок. 15% скидку на курс Евгения Попова.
В момент оформления заказа, на последнем шаге, вам будет предложено ввести купон скидки. Вводите SKIDKA_9B8 и будет сделан перерасчет с учетом 15% скидки. Дерзайте! Свой блог я сделал, благодаря этому курсу. У вас также получится.
На этом у меня все. Подписывайтесь на обновления блога.
Автор: Игорь
Чистый звук в мире инфобизнеса
Игорь, благодарю! Осталось только внедрить. Если будут вопросы, обязательно напишу.
Конечно, Марина.
Здравствуйте, Игорь!С одного раза ничего не понял. Буду изучать!
Здравствуйте, Владимир! Я немного подправил, сейчас должно быть понятнее.
Благодарю, Игорь!
Игорь, спасибо! Оказывается все не так сложно.Тоже буду применять.
А можно еще вопросик по теме? Как Вы заключаете в рамку текст? Например Ваш анонс о конкурсе Василия Мясникова?
Рамку вокруг текста, как это делается — вот здесь
Только там описана рамка с непрозрачным фоном. У меня несколько таких стилей. Один с прозрачным фоном, другие — нет.
Спасибочки! Поэкспериментирую сначала на локальном хостинге. 😛
Можно и на реальном, если дело имеет со стилями или сохраняйте исходный файл отдельно, чтобы в случае чего, его вернуть.
Классно! Спасибо!! У меня получилось!! 😛
Поздравляю! )
Здравствуйте, Игорь!
А вот у меня ничего не вышло... 😈
Пробовал на локальном сервере поставить в текст форму подписки (тема стоит такая же, как и на реальном... В итоге — слово в квадратных скобках. Все вроде сделал, как у Вас...
Вы попробуйте сначала простую фразу вывести с помощью шорткода, чтобы уяснить технологию. Если это получится, значит и все остальное уже додумаетесь.
У меня почему-то в файле functions.php нет закрывающегося тэга ?>. Я его подставила, потом попробовала воспользоваться вашими советами, все получилось ОК 🙂
Спасибо! Сейчас начну экспериментировать, все же шорткоды штука очень удобная.
Он, как бы, и не нужен. Читал на форумах споры на эту тему, нужен — не нужен. В одних шаблонах есть, в других нет. Я придерживаюсь такого мнения, что если есть открывающий — логично, чтобы был и закрывающий тег. Хотя он не функционален, но с точки зрения логики нужен.
Я посмотрела другие темы, действительно, во многих закрывающегося тэга нет. Но тут у меня другая проблема нарисовалась: пока вставляешь html-коды, все нормально, но попробовала скрипт вставить и все слетело к чертовой бабушке. Хорошо еще я для этих экспериментов создала тестовый блог, там и развлекаюсь 🙂
Не должно слетать. У меня так работает вся реклама. Правда, я её вставляю прежде создав строку параграфа. Здесь нужно внимательным быть, чтобы не нарушить синтаксис шорткода. Например, стерлась одинарная кавычка, точка с запятой и т.д.
А от темы это может зависеть? Я на одной теме вставляю без проблем, а на другой этот же код вставляю, а в итоге ошибка сервера :- (
Может быть. Точно не могу сказать. Но, например, плагин «Раздвижных всплывающих панелей» не работает со многими темами. Например, с моей, почему я его и не использую. Причина — 100% особенность темы. Как-то так сверстана, что плагин, ну никак не хочет. С другими — криво работает. С иными — отлично.
Возможно, так и с шорткодами. Но у меня на 3-х блогах все превосходно фурычит. Поэтому мне даже и в голову не приходило, что могут быть где-то косяки.
А потом, я же не программист )) А блоггер, рекомендующий то, что у меня работает 🙂 А может быть, Елена, просто в function темы есть какие-то ошибки. Могу только предполагать.
Так именно этим ваши советы и ценны 🙂
Программисты так объясняют, что фиг поймешь, о чем речь, а у вас все ясно и понятно, если есть вопросы, то можно спокойно их обсудить.
Мне всегда интересно докопаться до сути, поэтому и лезу со своими вопросами, авось что-то новое узнаю 😉
Любознательность — двигатель научного прогресса. 😉
Если бы ещё знать ответы на многие вопросы 🙂
Спасибо, Игорь. Нужный функционал подсказали! Кстати, шорткоды все большее распространение получают в новых шаблонах для вордпресс!
Да, уж. Осенило 😉 2 года пользуюсь, только сейчас написал.
Здравствуйте, Игорь!
И у меня не получилось вывести форму подписки Смартреспондера. 🙁 Пробовала вывести просто текст через шорткод — получается. Вставляю код подписной формы — сайт просто перестает открываться. Думала что-то в коде формы подписки не так, вставила её стандартным способом в страничку — всё нормально. Не знаете с чем может быть связанно такая реакция сайта именно на форму рассылки? 😳
Попробуйте, Ульяна выводить не весь код, а только ту его часть, которая начинается с формы (form), где сами инпуты. А ту часть, кода (верхнюю), где прописаны function SR, я не использую.
Спасибо, Игорь!
Я попробовала, но форма отображалась не корректно. Пришлось самой написать простенькую divную форму с кнопкой — картинкой внизу и подставить инпуты рассылки. Все получилось! Спасибо!!! 🙄
Так оно и есть, Ульяна. У меня ведь также своя форма, заключенная в div. А от смартформы забраны только инпуты.
Игорь, вот читаю пост и думаю о том, на сколько же мобилен и гибок движок ВордПресс. Уже который раз убеждаюсь в правильности выбора именно этого блогового движка.
Спасибо Вам за полезную информацию.
Если сравнивать WordPress и Joomla, с которой я раньше познакомился, то WordPress более простой и понятный.
Согласен. А еще мне думается, что ВордПресс — менее «дыряв», то бишь более защищен от взлома.
Менее или более, не знаю, но обновляется регулярно.
У ВордПресса тоже с обновлениями — полный порядок, тем не менее «ломают», находят «дыры», редиски... А здесь думаю основная вина ложится на владельцев блогов, пренебрегают своевременным обновлением как самого движка, так и плагинов.
Безусловно. Обновления обновлениями, а меры безопасности нужно соблюдать.
А я Джумлу все же осилила с помощью курса Е.Попова, но потом ушла на Вордпресс. Сейчас думаю, может, есть смысл снова посмотреть, как этот движок работает, может тогда, когда опыта было мало, она такой сложной казалась? И вообще, когда заходишь в конструктор сайтов к хостеру, глаза разбегаются, хочется уже что-то другое, а то Водрпресс да Вордпресс 🙂
А я нет, не очень хочу что-то новое изучать. Осилил Joomla, создал сайт на ней, когда создал блог на WordPress, понял, что больше не хочу движки изучать. Хочу сосредоточится на выдаче контента, а какая «бумага» лучше, уже не интересует ))
В принципе этих 2 систем достаточно, чтобы больше не заморачиваться с изучением всего остального. Для портала — Joomla, (но честно скажу) мне она перестала нравится, особенно линейка 1.6. 1.7 2.0 — много лишнего. Хотя, опять же, готовится новый курс Попова, он новую волну создаст.
Если кто занимается плотно сайтостроением, тому ему нужно и Joomla знать, и WordPress, и движки магазинов, (я создавал на shop-script), чтобы удовлетворить запросы заказчиков. Но я пока что — пас в этих вопросах. Может быть, пока. Время покажет ))
Да я тоже пока не буду, других дел много. В частности, хочется вплотную заняться анализом блогов. После курса Александра Бобрина почему-то появилось такое желание тоже научиться делать все, как положено. А то я обычно внимание только на контент и обращала, потом начинала голову ломать, почему-то же сайт буксует.
Страницу в закладки и с утра буду применять на тестовом блоге.Должно получится.
Пробуйте. На тестовом, должно получиться. )
Здравствуйте.
Есть один вопросик. Как сделать так, чтобы шорткоды прописывались в админке чтобы не лезть в файл functions?
Заранее спасибо
Можно сделать так, но вряд ли я напишу об этом в ближайшее время. У меня не так много шорткодов, чтобы сейчас это делать.
Игорь, большое спасибо за такую подробную статью! Оказывается, это совсем не сложно, а я так долго откладывал момент когда разберусь с шорткодами, только по той причине, что думал для этого понадобится уйма времени))
Так, как я использую, совсем несложно. ))
Игорь, спасибо за статью, прогуглила=)... Такой вопрос: у вас в подписи какой выводится плеер? Или не плеер?.. И, если не секрет, какой прописать код плеера в шорткоде? P.S. Я с html не очень=)
Елена, я на этой неделю пост — ответ на ваш вопрос напишу и покажу, как выводить плеер в подписи. Двумя словами не получится объяснить.
А как вывести текст на английском языке, так, чтобы я мог потом локализовать плагин или шаблон? Например такую конструкцию:
Скрипт не получается вывести. Показывает ошибку. Скрипт вот такой: