Как вставить шорткод в html
Шорткоды в WordPress — правильное создание и вставка
В этом материале вы узнаете, что такое шорткоды WordPress. Как создавать и подключать их вывод в сайдбарах и описаниях рубрик. Также покажу, как shortcodes правильно вставлять в файлы темы.
Что такое шорткоды WordPress
Выглядит она примерно так:
Для чего вообще, это нужно?
Во-первых, такой вариант значительно упрощает вставку громоздкого кода. Гораздо легче задавать короткие коды на страницах, чем прописывать громоздкие скрипты.
Также это полезно при дальнейшем редактировании кода.
Вы создаете функцию и прикрепляете нужный код к определенному шорткоду. Далее такие шорткоды проставляете на страницах в нужных местах.
К примеру, вам нужно отредактировать код на всех этих страницах. В таком случае, не нужно редактировать каждую запись. Достаточно просто изменить код в самой функции, где создавали шорткод.
Это намного удобнее и экономит время. Да и к тому же безопаснее.
А вот если неправильно добавить сам код на страницу, то появятся ошибки. Сайт не будет работать должным образом.
Ну и во-вторых, по умолчанию, исполнение скриптов WordPress прямо в статьях запрещено. Это сделано для безопасности сайта.
То есть, если кто-то у вас в комментариях что-нибудь пропишет, то это не будет работать. Код не вступит в силу.
Конечно же, можно снять запрет на исполнение кода в статьях. Но я рекомендую это делать только в крайних случаях.
А если захотите что-то выводить в записях, то делайте это через шорткоды. Либо добавляйте код непосредственно в файлы установленной темы. Например, вывод рекламы вначале всех статей.
Также можно подключать и дополнительные плагины для вставки кода в статьях.
Создаем шорткоды в WordPress
Давайте теперь я покажу, как можно создавать свои шорткоды в WordPress. Как я говорил ранее, это урезанная версия исполняемого кода. Такие версии можно создавать самому и выводить в любых местах сайта.
Вы и сами замечали, что многие плагины выводят код с помощью специальных шорткодов. Например, вставка рекламы, различные выделения текста, создание галерей и тому подобное.
Простой вывод без плагина
Чтобы было понятно, как все это работает, давайте создадим свой shortcode без плагина.
Это файл установленной темы. Именно через него добавляется основной функционал. От сюда и соответствующее название.
Итак, в этот файл добавляем вот такую функцию:
Она состоит из двух частей.
А выводить я буду простую фразу «Исполняемый код». Вам же рекомендую сюда вставить какой-нибудь код для вывода. Например, кнопки или реклама.
Вот в принципе, и все!
Функцию мы добавили и привязали к определенному короткому коду. Теперь идем в редактор статьи. Там в нужном месте прописываем этот шорткод WordPress.
Не забывайте про квадратные скобки!
Как видите, не нужно постоянно добавлять громоздкий код и боятся ошибок при копировании. Достаточно поставить в нужных местах небольшой шорткод и дело сделано.
Создание таких элементов кода очень полезно при оптимизации сайта.
Вам не нужно дополнительно устанавливать плагины WordPress. Вы просто создаете новый функционал и в дальнейшем обрамляете его в такие метки.
К примеру, нужно вывести блок рекламы только в определенных статьях и местах.
Можно автоматом вывести в определенных статьях рекламу. Но вывести ее красиво, и чтобы в разных местах – это затруднительно.
Реклама куда лучше будет работать, когда вы ее вписываете вручную и по смыслу. Вот как-раз в таких случаях и проставляйте вручную WP shortcode.
Главное вначале вручную проставить их в нужных местах!
Потом если нужно будет поменять рекламу, то сделать вы это сможете в самой функции. То есть вам не нужно заходить в каждую статью и править ее. Достаточно просто зайти в файл functions.php и заменить исполняемый код.
Помимо рекламы можно выводить и другие элементы на сайте. Например, подписку на e-mail рассылку и ссылки. А также кнопки, текстовые или графические предложения.
Shortcode WordPress с параметрами
Давайте усложним пример и в shortcode WordPress добавим свои параметры. Они пригодятся если нужно выводить один и тот же элемент, но немного в измененном виде.
К примеру, мне нужно вывести одну и ту же ссылку с разными анкорами. Чтобы не создавать под каждый анкор новый шорткод, мы просто при вставке зададим свои параметры.
В параметрах anchor и url прописываем свои значения.
В качестве исполняемого кода будет такая строка:
Здесь потом будут выводиться наши параметры. Также я указал открытие ссылки в новой вкладке.
Далее можете указать свое название функции и шорткода.
Теперь при вставке ссылки с другими параметрами не нужно создавать новый wp шорткод. Достаточно в редакторе вставить такой же короткий код, но со своими параметрами.
Вот как нужно вставить шорткод в страницу WordPress:
Можно выводить и без своих параметров. Вот так:
Тогда будут использованы те параметры по умолчанию, что были указаны в функции.
Для разных размеров изображений можно использовать такой пример.
В параметрах width и height задаем высоту и ширину картинки. У меня, это 100 px.
В качестве исполняемого кода прописываем такую строку, но уже со своим изображением:
Теперь, если нужно поменять размер картинки в определенных записях, то в шорткоде задаем свои параметры. Например:
Создаем двойной шорткод WordPress
Сейчас покажу, как создавать открывающий и закрывающий шорткод WordPress. Это очень полезно при стилизации определенных элементов. Например, чтобы выделить текст и вставить его между двумя шорткодами.
Теперь в редакторе вставляем такой код со своим урлом ссылки:
Также можно вставить внутри дополнительный шорткод:
Если нужно выделить текст и задать определенный стиль, то можно использовать такой вариант:
Тогда в редакторе выделенный фрагмент обрамляем двумя шорткодами. Получится так:
Но я рекомендую подключать CSS отельным файлом. Поэтому в примере лучше использовать так:
Плагин для создания шорткодов в WordPress
Есть специальный плагин для создания шорткодов WordPress. Называется Shortcoder. Он пригодится тем, кто не хочет вручную возиться с созданием пользовательских кодов.
Устанавливаете это расширение с бесплатного каталога Вордпресс. Переходите в меню «Настройки» —> «Shortcoder».
Создание шорткода с помощью плагина
В поле «Content» вставляем исполняемый код. Например, вывод рекламы. Чуть выше прописываем название латинскими буквами.
Жмем на «Create Shortcode».
Затем переходим в визуальный редактор. Там вы увидите новую кнопку для удобной вставки шорткода. Отмечаете курсор в нужном месте записи и нажимаете на эту кнопку.
Кнопка плагина Shortcoder в визуальном редакторе
Во всплывающем окне выбираем подходящий вариант короткого кода и нажимаем на «Insert Shortcode».
Выбираем подходящий короткий код
Плагин очень полезен. Особенно для новичков.
В нем есть еще и дополнительные опции. Например, можно выводить разные коды как для декстопных, так и для мобильных устройств.
Как вставить шорткод в тему WordPress
Теперь поговорим о том, как правильно вставить шорткод в тему WordPress. Для начала начнем со вставки в сайдбар и описании таксономий.
Это очень важные функции.
К примеру, это очень хорошо поможет вам при оптимизации рубрик на сайте. Можно вывести определенные элементы и оформить описание более красиво и читабельно.
Итак, чтобы включить такую поддержку в описании таксономий, в файл functions.php нужно добавить такой код:
Также я рекомендую добавить поддержку и в сайдбарах. Это тоже очень важные места на мой взгляд.
Чтобы это сделать, в файл functions.php добавляем следующий код:
При желании можно прикрутить поддержку коротких кодов в комментариях:
Для использования в анонсах постов, вставьте такую строку:
Теперь давайте рассмотрим, как можно добавить шорткоды WordPress в php файлы темы.
Иногда и такое необходимо.
Поэтому, чтобы этого избежать, свой шорткод нужно обрамлять в специальный php-контейнер:
Короткий код [reklama] заменяем на свой. Только так система поймет исполняемый код и без ошибок запустит его в действие.
На этом у меня все!
Теперь вы знаете, что такое шорткоды в WordPress и для чего они нужны. Также мы рассмотрели разные варианты их создания и вставки на сайт. Обязательно используйте их на своем проекте. В общем, изучайте и внедряйте!
Шорткоды в WordPress
Шорткод (шоткод, shortcode, короткий код) в WordPress — это конструкция в тексте, которая будет обработана и заменена на указанный код/текст. Обрабатывается шорткод специальной PHP функцией, указанной при регистрации шорткода.
Shortcode API — это набор простых функций, которые позволяют разработчикам тем и плагинов создавать свои шорткоды, которые затем можно использовать в контенте для вывода готовых блоков контента. Например, это может быть форма контактов.
Для примера, следующий Шорткод (в контенте записи) добавит фотогалерею:
Шорткоды могут вызываться по-разному: | |
---|---|
[name] | «self-closing» Одиночный шорткод без параметров. |
[name size=»medium»] | «self-closing» Одиночный с параметрами. |
[name]текст[/name] | «enclosing» Контентный шорткод без параметров. Получает текст в качестве параметра. |
[name size=»medium»]текст[/name] | «enclosing» Контентный шорткод с параметрами. |
Видео о шорткодах в WordPress:
Список шорткодов WordPress
В WordPress по умолчанию регистрируются следующие шорткоды:
Синтаксис шорткода
Само-закрытие (self-closing)
Шорткод можно закрыть слэшем в конце (такой слэш называется self-closing маркером).
Пробел перед маркером необязателен. Пробелы после маркера не допускаются. Такой маркер является чисто косметическим и ни на что не влияет.
Контентные шорткоды не могут использовать self-closing маркер.
Имя шорткода
Атрибуты шорткода
Атрибуты указывать не обязательно, между именем и атрибутами нужен как минимум один пробел. Если указывается несколько атрибутов, каждый атрибут должен быть разделен по крайней мере одним пробелом.
Каждый атрибут должен соответствовать одному из этих форматов:
Имя атрибута
Значение атрибута
Заметки по значению атрибута:
Кавычки атрибута. Двойные кавычки » допускаются внутри значений в одинарных кавычках ‘ и наоборот: [name foo=’1 «2» 3’ bar=»4 ‘5’ 6″]
Экранировать спец-символы в атрибутах можно через кодирование HTML символов (HTML encoding).
HTML символы и > поддерживаются в атрибутах ограничено. Например, этот шорткод не будет правильно работать, из-за символа > :
Версия 4.0 умеет проверять HTML, так что следующий код будет работать:
Чтобы полностью поддерживать HTML в атрибутах можно, сначала кодировать вводимые пользователем значения, а затем декодировать при обработке.
Удаляемые символы. Следующие символы, если они не экранированы, будут:
Экранирование
Экранирование нужно, когда шорткод зарегистрирован, но его не нужно обрабатывать, а нужно показать как есть. Не зарегистрированный шорткод и так не будет обрабатываться.
Для экранирования нужно обрамить шорткод еще одними квадратными кавычками:
Вложенные шорткоды
Парсинг шорткодов срабатывает один раз для контента. Это значит, что если в Контентном шорткоде есть вложенный шорткод, он не будет обработан:
Одинаковое название
Парсер не сможет обработать вложенные шорткоды с одинаковым названием, потому что уровень вложенности не подсчитывается. Такое ограничение сильно ускоряет обработку шорткодов:
Как это работает
На хуке the_content срабатывает функция do_shortcode(), которая ищет и обрабатывает все шорткоды в контенте.
То что вернула функция-обработчик заменят шорткод в контенте.
До срабатывания функции do_shortcode() (до парсинга шорткодов), контент обрабатывается тремя ключевыми функциями:
Создание шорткода
Для создания шорткода используется функция add_shortcode(). Она принимает два параметра: имя шорткода и название PHP функции, которая будет обрабатывать шорткод.
Вот самый простой PHP-код который регистрирует новый шорткод [foobar] :
Теперь [foobar] в контенте записи изменяться на строку: «Привет! Я шорткод.»
Атрибуты шорткода
Давайте добавим поддержку атрибутов шорткоду из примера выше. Для этого используем функцию shortcode_atts():
Теперь [foobar name=»Виктор» age=»25″] в контенте измениться на строку: «Меня зовут Виктор мне 25 лет».
shortcode_atts() определяет какие у шорткода могут быть атрибуты, задает им дефолтные значения и удаляет неопознанные атрибуты.
Ассоциативный массив который описывает возможные атрибуты шорткода (это ключи массива) и их дефолтные значения.
Неочищенный массив с данными, которые были указаны в шорткоде. Они будут сравниваться с массивом выше.
$atts будет содержать массив аргументов шорткода, которые были указанны пользователем.
Если указать значение без названия параметра, то они будут добавлены в индексные элементы массива. Например для шорткода [name value attr=»val2″ val3] получим:
Рассмотрим еще один пример.
Из кода видно, что приняли мы одни данные, а получили после обработки другие. Что изменилось?
Вывод функции обработчика
Возвращаемое значение функции обработчика шорткода вставляется в контент записи вместо самого шорткода.
Буфиризация вывода
Контентные шорткоды
Для Enclosing шорткода функция-обработчик получит второй параметр содержащей контент.
Теперь если написать шорткод так:
Получим такой результат:
$content передается в функцию без какой-либо очистки, поэтому в нём может быть HTML:
Иногда наоборот, когда HTML недопустим нужно очищать вывод, удаляя все HTML теги функцией wp_strip_all_tags().
Атрибуты в Контентном шорткоде
В Контентном шорткоде можно также как и в Одиночном, указать атрибуты. Например разрешим атрибут class :
Вложенные шорткоды
Если в Контентном шорткоде есть вложенный шорткод, он не будет обработан.
Поэтому если все же нужно нужно обработать шорткод внутри шорткода, то при обработке контента первого шорткода, нужно использовать функцию do_shortcode(), чтобы обработать вложенные шорткоды.
Удаление шорткода
Также в Shortcode API есть функция которая удаляет все зарегистрированные шорткоды разом: см. remove_all_shortcodes().
PHP Функции
add_shortcode() | Добавляет новый шоткод и хук для него. |
shortcode_atts() | Обрабатывает атрибуты (параметры) шорткода: добавляет значения по умолчанию когда нужно и удаляет неподходящие атрибуты. |
remove_shortcode() | Удаляет зарегистрированный шорткод. |
remove_all_shortcodes() | Удаляет все зарегистрированные шоткоды. |
do_shortcode() | Находит в переданном тексте зарегистрированные шорткоды и обрабатывает их. |
apply_shortcodes() | Алиас функции do_shortcode(). |
has_shortcode() | Проверяет есть ли в переданном тексте указанный шоткод. |
shortcode_exists() | Проверяет зарегистрирован ли указанный шоткод. |
strip_shortcodes() | Удаляет/вырезает все шоткоды из переданного текста (контента). |
Заметки
wpautop
Шорткоды обрабатываются после того, как контент записи будет обработан функцией wpautop(). Поэтому, возвращаемая строка из функции-обработчика уже не будет обрабатываться этой функцией.
wpautop() распознает зарегистрированные шорткоды и не обрабатывает их (не добавляет p или br теги вокруг или внутри).
wptexturize
Шорткоды обрабатываются после того, как контент записи будет обработан функцией wptexturize(). Она обрабатывает незарегистрированные шорткоды как обычный текст, и заменяет в нем кавычки.
Чтобы этого не происходило шорткод можно обернуть в тег или
Или можно добавить шорткод в список не-текстурируемых шорткодов. Делается это через хук no_texturize_shortcodes.
Разные функции для одного шорткода
Если зарегистрировать два шорткода с одинаковыми названиями, но разными функциями-обработчиками, то применяться будет последняя функция. Т.е. сработает шорткод добавленный последним.
Одна функция для разных шорткодов
Смешанный вызов одного шорткода
Парсер не умеет обрабатывать смешанный вызов одно шорткода, когда он вызывается как Self-closed и Enclosing. Например:
Незарегистрированные шорткоды
Некоторые авторы плагинов не регистрируют шорткод, например, чтобы отключить вложенный шорткод до тех пор, пока не будет вызвана функция обработчика родительского шорткода. Это может привести к тому что шорткоды станут нерабочими. Например:
Незарегистрированные шорткоды будут считаться обычным текстом, который не имеет особого значения. Чтобы шорткод имел значение для wptexturize() его можно добавить в список через хук no_texturize_shortcodes:
Незакрытые шорткоды
В некоторых случаях анализатор шорткодов не может корректно работать с одним шорткодом, который используется как Одиночный и Контентный шорткод. Например в этом случае синтаксический анализатор будет правильно идентифицировать только второй экземпляр шорткода:
Однако так проанализирует оба:
Шорткод в атрибуте HTML тега
Начиная с версии 4.2.3 были наложены ограничения на использование шорткодов внутри HTML тегов. Например, следующий шорткод не будет работать корректно, поскольку он вложен в атрибут скрипта:
Обойти это можно создав шорткод, который выводит весь необходимый HTML, а не только одно значение.
Как легко вставить шорткод в WordPress: в шаблон, в страницу и в виджет
Вставить шорткод в запись или страницу
Вывести шорткод в записях и страницах WordPress просто. Открываем редактирование записи и делаем пару действий.
В классическом редакторе WordPress
Если вы любите пользоваться классическим редактором, то входим в статью и во вкладке визуально в необходимое место нужно вставить. Разберу на примере форм от плагина Contact Form 7.
Можно через предварительный просмотр WordPress увидеть, что отображается на экране.
Не важно где выводить во вкладке Визуально или Текст (html редактор), шорткод сработает. Перед каждой проверкой очищаем кэш.
В Gutenberg
В Gutenberg существует специальный блок. Создаем запись, либо меняем старую и смотрим скриншот.
На экране появится новый блок, в который заносим скопированную конфигурацию.
Нажимаем на предварительный просмотр и видим ту же картину. Простые методы прошли переходим к более сложным.
В плагине Elementor
В elementor есть специальная кнопка чтобы вставить шорткод, в панели находим соответствующий раздел.
В его настройках вводим конфигурацию и сохраняем, автоматически elementor обработает запрос и выведет результат на экран.
Вставить напрямую в шаблон
Существует ситуация, когда нужно вывести не в контенте, а в коде шаблона, тогда переходим к более кардинальным мерам.
С помощью функций темы
Чтобы не вносить правки в файлы темы для начала проверим, может в настройках есть возможность записи кодов в разные места ресурса. На тестовом блоге есть шаблон GoVideo, в нем есть специальный раздел, чтобы прописывать коды в подвал. Захожу Внешний вид > Настроить.
Далеко не все темы поддерживают вставку текста в разные части документа. Если такой области нет, то переходим к следующему пункту.
В PHP документе
В WordPress существует специальная PHP функция, если просто вставить в шаблон, то на экране ничего не появится. Вот код, который нужно применить:
То есть в нашем случае получится такая картина:
Хочу разместить форму обратной связи под постами. Какой файл у вас отвечает за вывод того или иного элемента предсказать не могу. В моем случае content-single.
В виджетах
По умолчанию шорткоды для вставки в виджеты запрещены, потому что часто блог заклинивает из-за ошибок и вернуть работоспособность становится трудно.
Разумное решение, безопасность превыше всего, но если набрались смелости залить в vidgets WordPress, то читаем дальше.
Виджет текст
С помощью модуля Текст можно вставить шорткод, но это касается WordPress версий 5.0 и выше. Смотрим на скриншот, перетаскиваем его в активную зону и сохраняем изменения.
Текст
Смотрим, если сработало, то дальше можно не читать, если нет, то продолжаем. Не знаю от чего зависит, но иногда Текст не срабатывает, из-за того что WordPress запрещает вывод шорткода, тогда идем в файл Function активной темы, помещаем следующее правило и сохраняем.
Фильтр
Проделываем манипуляции сначала, и если опять не сработало, то применяем следующий способ. Для лучшего понимания материала приложу свой видео обзор.
С помощью плагина
Существует отличный плагин Shortcode Widget скачиваем или устанавливаем из админки WordPress, так он выглядит в поиске.
Заходим Внешний вид > Виджеты, там появиться новый раздел Shortcode Widget. Перетаскиваем в активную зону, прописываем и сохраняем
Это 100% способ, если он не помог, то причина скорее всего в ядре WordPress. На этом закончу в статье разобрались как вставить шорткоды в WordPress различными методами и способами, напишите пожалуйста, статья вам помогла?
SEO Маяк
Блог Виталия Кириллова | Все о создании,
продвижении сайтов и заработке в интернете
Создание и продвижение сайтов, заработок в интернете
Shortcode (шорткоды) WordPress. Примеры использования
Всем привет! Сегодня на seo-mayak.com я еще раз коснусь темы использования функций shortcode WordPress.
Что такое shortcode? Шорткоды — это набор простейших функций, создающих микро-коды, которые можно использовать в стандартном редакторе WordPress, в виджетах и также в файлах шаблона, для различных целей.
Вот как раз о целях использования шорткодов мы сегодня и поговорим.
Не так давно, в своей статье — заработок на контекстной рекламе, я показал пример использования шорткодов для вставки рекламных объявлений Яндекс Директ и Google AdSense, но это далеко не все их возможности.
Многие веб-мастера вообще не знают о существовании коротких кодов, так как в WordPress эта функция появилась только с выходом версии 2.5, что сравнительно недавно. Безусловно shortcode очень удобны и они значительно облегчают жизнь блогерам.
Чуть позже мы разберемся в каких ситуациях можно применять короткие коды, но сначала давайте попробуем написать самую простейшую функцию. Поехали!
Самый простой пример использования shortcode
Наверное проще такой функции shortcode и придумать нельзя и вставляется она в файл functions.php в самый конец перед знаком «?>»:
Начиная писать очередной пост, каждый веб-мастер приветствует своих читателей и это правильно, но можно не писать каждый раз одно и тоже, а воспользоваться шорткодом, заданным в вышеупомянутой функции.
Для этого в визуальном режиме редактора WordPress достаточно прописать:
И при просмотре записи текст, заключенный в функцию, отобразиться автоматически. Можете проверить.
Теперь немного усложним задачу и сделаем домен ссылкой:
Проще простого. Идем дальше.
Как с помощью shortcode предложить подписаться на rss
Я в своих статьях довольно часто предлагаю посетителям подписаться на обновления блога и делаю я это с помощью такой простенькой функции:
В редакторе WordPress в нужное место вставляем:
Конечно в функции надо заменить URL подписки на свой.
Добавление атрибута nofollow к ссылкам в тексте
Очень удобный шорткод, добавляющий к внешней ссылке атрибут nofollow. Очень часто бывает, когда в статье необходимо сослаться на какой-нибудь внешний ресурс и чтобы закрыть ссылку nofollow надо переключить редактор в режим HTML, а потом еще найти в тексте саму ссылку, на что уходит драгоценное время.
С помощью функции shortcode можно сделать это гораздо быстрее, без переключение режимов.
В файл functions.php вставляем следующее:
Затем, прямо в визуальном редакторе, оборачиваем ссылку в теги:
Название тегам можно дать любое, но его надо обязательно прописать в последней строчке функции. Я думаю Вы уже догадались в каком месте? Если нет, то задавайте вопросы в комментариях.
Я специально не стал придумывать тегам длинные названия, их так будет проще прописывать. Но на самом деле это тоже не важно, так как для добавления shortcode я использую кнопки в редакторе WordPress.
Шорткоды с использованием стилей
Например нам надо подсветить цветным фоном определенный участок текста. В файл functions.php вставляем следующую функцию:
Заключаем участок текста в теги:
В результате мы получим участок текста на желтом фоне. Цвет фона можно поменять на любой другой, задав иное значение селектору:
По желанию можно убрать стили из функции и прописать их в файле style.css.
Google очень часто выбирает в качестве сниппета для поиска именно тот текст, который подсвечен цветным фоном, если конечно в нем прописаны ключевые слова. Так что данный шорткод не только удобный, но и очень полезный.
Ретвит с помощью shortcode
Очень интересная и опять же полезная функция, которая выводит кнопку «Твитнуть»:
В нужном месте статьи вставляем:
И пользователям явиться вот такая симпатичная кнопочка:
Можете попробовать твитнуть и посмотреть как она работает 🙂
Я сейчас не буду разбирать стили, если будут вопросы, задавайте их пожалуйста в комментариях.
Вывод категорий с помощью shortcode
Для выводы списка категорий, в WordPress отвечает специальный тег
Но можно вызвать категории простеньким шорткодом. Для этого в файле functions.php пишем такую функцию:
Но если Вы захотите вставить данный короткий код в виджет, то придется применить уже иной подход.
Как вставлять shortcode в виджеты WordPress
По умолчанию WordPress не разрешает использовать шорткоды в виджетах, но этот запрет можно обойти с помощью фильтра, который надо добавить в тот же файл functions.php:
Таким образом мы заставили CMS WordPress исполнять короткий код в виджетах.
Выполнение шорткода в комментариях
Здесь мы просто применим другой фильтр:
Но что делать если есть необходимость применить короткий код в файле шаблона, например для вставки контекстной рекламы?
Как вставить шорткод в файл шаблона
Для вставки шорткода в файл php придется квадратные скобки и их содержимое поместить в специальный php-контейнер:
Как видите shortcode WordPress обладают широкими возможностями и на полную веб-мастера их еще не используют, а зря.
Как правильно вставлять видео с YouTube
В заключение я хочу рассказать вот о чем. Еще пару месяцев назад я использовал шорткод для вставки видео с YouTube и даже планировал им с Вами поделиться, но в ходе изучения материала я понял, что необходимость в этом уже отпала. Почему?
Просто с выходом версии 2.9 в WordPress появилась возможность вставлять видео в пост с помощью обычной ссылки. Например:
С выходом WordPress 3.5 разработчики движка исправили данный недочет. Каким образом? С помощью уже знакомого нам shortcode.
Теперь для вставки видео в пост надо в визуальном режиме прописать следующее:
Я специально поставил пробелы, так как код целиком не отображался и их после копировании надо убрать, так что имейте это в виду!
Но можно сделать нашу жизнь еще проще. Как я уже говорил, в следующей статье Вас ждет интересный урок от том, как добавить свои кнопки в стандартный редактор WordPress.
На сегодня у меня все. Как Вам статья?
С уважением, Виталий Кириллов
Интересное на блоге
Комментарии: 101
Очень интересно, спасибо. Многого я не знала вообще, так действительно сокращается время. Отдельное спасибо за то, как можно вставить видео с ютуба с помощью шорткода. Очень любопытно будет узнать о кнопках в вордпрессе, буду ждать следующую статью))
Елена, я надеюсь Вы не разочаруетесь!
Очень полезная статья!) Надо кое-что на заметку взять). Я вот только видео из «Ютюба» по-другому вставляю, все проще гораздо.
Саша, ну Вы бы поделились с читателями, каким методом Вы пользуетесь!
)Нажимаю на видео правой кнопкой мыши, выбираю «копировать html-код», потом перехожу в редакторе Вордпресс в режим «Текст» и вставляю скопированное. Дальше можно вернуться в обычный режим и продолжать оформление поста.
Саша, ну и чем отличается Ваш метод от предложенного мной?
Я не заморачиваюсь по поводу размеров, все и так нормально отображается,автоматически выравнивается.
Приветствую, Виталий! Пока что все попытки сделать шорткод (на локальном, естественно!) заканчиваются тем, что блог просто перестает работать.
Вполне вероятно, что запись вставляю «не туда». Что означает, «вставить в самый конец файла functions.php перед знаком «?>»? В моем functions.php этот знак встречается несколько раз. Последний знак файла «
Александр все функции в файле functions.php должны располагаться между знаками « «. Можно даже одиночную функцию заключить в эти знаки. Попробуйте!
То есть — после последнего «»? Пробовал, не работает. Впрочем, сейчас мелькнуло — а если, как в моем файле function в конце поставить «
Спасибо, Виталий! Очень полезная статья. Часто вставляю шоткоды, пользуясь плагинами. Но сама никогда их не использовала. Оказывается, это элементарно. Даже странно, почему я это раньше не делала. Вот теперь думаю, стоил ли убрать файлы-шаблоны и перенести все в шоткоды. Как Вы думаете, это целесообразно?
Наталья я думаю смысл есть, тем более, что можно сделать кнопочки в редакторе, при нажатии на которые в текст будут всталятся нужные шорткоды, что сэкономит массу времени.
>>можно сделать кнопочки в редакторе
да-да, хорошая идея, а то всегда при добавлении новой записи приходится открывать старую, чтобы оттуда копировать теги с нужными стилями.
Надо будет заняться этим… может и Вы поспеете со статьей на эту тему)
Наталья статья уже готовиться.
Cупер! Все получилось, теперь буду разбираться насчет закрытия внешних ссылок в статьях.
А на другой сайт, когда вставляла шорткод — сайт поломался.
Шаблоны бывают разные, с некоторыми приходиться мучиться.
Здравствуйте, Виталий
Вы пишите: «Многие веб-мастера вообще не знают о существовании коротких кодов, так как в WordPress эта функция появилась только с выходом версии 2.5, что сравнительно недавно».
В связи с этим админ сайта http:// wppost.ru/author/admin/ Андрей Plechev прокомментировал это так:
«Версия 2.5 вышла в 2008 году http:// wordpress.org/news/2008/10/usability-testing-report-25-and-crazyhorse/ Как можно говорить о том что она вышла недавно, выдавая статью об ее упоминании в 2013? Только человек вообще не разбирающийся в этом мог такое сказать. Это обычный плагиат, который один инфобизнесмен переписывает у другого, привлекая профанов на свой сайт. Вот и все.»
Сам же Андрей считает абсолютно ненужным давать на своём сайте инструкции по пользованию шорткодами, хотя их у него на сайте — огромное количество.
Андрей тех, кто не разбирается в шорткодах — в открытую называет профанами и заявляет, что с такими профанами ему вообще не о чем разговаривать.
Виталий, что вы можете ответить по этому поводу?
Можно ли назвать поведение Андрея спесивостью или он прав?
Лео, я стараюсь не обращать внимания на всякие высказывания в мою сторону или в сторону моих проектов. По крайней мере, если ведется обсуждение статей, то значит они этого заслуживают.
Просто некоторые хотят быстро сделать себе имя в сети, поливая грязью других. Это легкий способ заявить о себе, но такой путь не продуктивен.
По-поводу статьи, Яндекс был основан в 1997 году и это было 16 лет назад. Версия wordpress 2.5 вышла 5 лет назад, что сравнительно недавно.
Я думаю больше пояснять ничего не надо.
Виталий, спасибо за ответ. Ну да — вы же не писали что в WordPress функция шорткодов появилась недавно (а 5 лет назад — это не недавно), а писали — появилась сравнительно недавно. То есть — смотря с чем сравнивать. Если до этого вы писали об использования шорткодов в Яндексе, то понятно, что в сравнении с Яндексом, где шорткоды используются уже давно, на в WordPress функция шорткодов появились сравнительно недавно.
ну конечно, если сравнивать с возрастом ваших тел, то это действительно произошло совсем недавно)))
Помогите разобраться!
Вот код с nofolow
Здравствуйте Женя! Извините за задержку с ответом были причины.
$attr — это шорткод-атрибут и на этом примере атрибутом будет href, содержащий ссылку.
$content — это содержание шорткода.
Спасибо) давно искал решение этой проблемы, поскольку использовал устаревший код)
Спасибо
Добрый день. А не подказали бы, как вставить с помощью шорткода видео с ютюба. Вставляю в файл functions.php вот такой код который ниже, все работает, только когда при открытии нового поста с видео мелькает белый экран, спасибо за помощь, может что-то добавить надо или не туда вставляю:
В статье я описал способ вставки видео с ютуба и использовать подобные функции нет никакой необходимости.
Добрый вечер. У меня как раз такая необходимость. Видео загружались в [youtube]AE4d_oEaCaI[/youtube] просто вставлял кусочек код с ютюба. Поменял шаблон и вышеописанный код работает, но при открытий страницы появляется белый экран, подскажите пожалуйста как исправить. Спасибо.
Wasija, с выходом версии 2.9 в WordPress появилась возможность вставлять видео в пост с помощью обычной ссылки. Например:
Попробуйте. Только ссылку надо сделать простым текстом.
Здравствуйте!
Извините, не по теме, скажите у меня в папке шаблона имеется папка lib, в ней имеется папка shortcodes в ней папка css а уж в ней сам файл — bootstrap.css. «Беда» в чем, при проверке сайта на валидность CSS — 340 ошибок. Экспериментом, удалила файл с сервера — bootstrap.css, проверила — 8 ошибок! Самое главное и с ним и без него сайт работает.
Сам вопрос! Скажите почему такое может быть и, что Вы бы посоветовали, как поступить? Спасибо!
Екатерина, шаблоны все разные и советовать, не видя картины целиком, мне сложно. Но! Если сайт работает, то значит данные стили не действуют. Советую сделать копию удаленного файла и сохранить ее на компьютере. В общем 100 раз проверьте все ли работает как надо без удаленного файла.
Но к сожалению после обрамления [result][/result] шорткод не работает. Подскажите пожалуйста в что может быть не так? Сайт на WordPress.
Дмитрий к сожалению сходу не могу подсказать Вам правильное решение, надо провести несколько экспериментов.
‘.$content.’
‘;
>
add_shortcode(‘page’, ‘agenstvo_page’);
Здравствуйте Юрий.
Обернуть шорткодом другой шорткод не получится!
Подскажите пожалуйста, как шорткоде «подсветка цветным фоном участка текста» правильно убрать стили из функции и прописать их в файле style.css? У меня почему-то не получилось, очень хочу убрать из функции, не могу, когда что-то не на своем месте:))
Просто пропишите класс в функции шорткода, а для этого класса пропишите стили в файле style.css.
Пример:
День добрый! Подскажите как в примере шорткода вывода категорий, выводить определенные категории с подкатегориями. Если возможно «разжевать» используемые аргументы. К примеру шорткод background разжеван хорош и создавал осознанно.Спасибо за сайт.
Вечер добрый! С меню разобрался Спасибо! Но вот как с рубриками (категориями) :(((
Юрий, к сожалению сейчас совсем нет времени, чтобы заняться Вашим вопросом. Отвечу немного позже.
как Вы думаете, насколько целесообразно использование шорткодов с точки зрения СЕО?
Что Вы можете посоветовать при работе с шорткодами как СЕО-специалист?
Вполне возможно Роман, что в Вашем случаи происходит дублирование. Здесь важно понимать одно: — если в исходном коде страницы дублированный текст присутствует, то робот его видит и если похожий текст есть на других URL, то хорошего в этом мало.
Виталий, я так понимаю, после обновления вордпресса шорткоды необходимо будет заливать опять?
Владимир, при обновлении движка, файлы шаблона остаются неизменны.
Так надо прописывать в файле functions.php шаблона, не движка?
Конечно. Файлы движка вообще трогать не желательно.
Здравствуйте Виталий, я не могу сообразить что нужно добавить в function и какой шорткод нужен? Не знаю поймете меня или нет, но я хочу сделать, чтоб при скачивании файлов с сайта — ссылке добавлялся код, а то каждой ссылке нужно его добавлять, а у меня их не 10 и не 20.
Вообщем есть ссылка вида : site.ru/soft/win-rar.exe а мне нужно сделать чтобы было при наведении мышкой такая же а при скачивании — скачивался загрузчик…
Надеюсь Вы меня поняли.
Спасибо.
» download_url=» » download_sid=»81″>
И у меня при скачивании файлов со страницы «вложения» дописывался код к ссылке…
А сейчас в новой теме файла attachment.php — нет почему-то… И у меня возник вопрос: как теперь это исправить?
Может как нибудь кнопку для скачивания вывести и к ней уже «прикрутить» этот код? Не знаю… Помогите пожалуйста. Тема «HappenStance»
Евгений, если файла attachment.php нет в теме, то его просто напросто надо создать!
Но на всякий случай проверьте наличие других файлов приложений.
Дело в том что WordPress соблюдает следующую иерархию файлов:
1. image.php, video.php, audio.php;
2. application.php;
3. attachment.php
4. index.php.
Разбираться в каждой теме по просьбе читателей я физически не смогу, правда делаю это платно, но далеко не во всех случаях, надеюсь вы понимаете.
Виталий, создать то я смогу, но ведь его ещё и подключать надо к «single.php» и наверное к «page.php»…
Или не надо?
Евгений, WordPress ищет файлы в соответствии с иерархией, вот почитайте статью, возможно Вам станет немного понятней, что такое иерархия файлов.
Здравствуйте, у меня такой вопрос, извините, немного не по теме. У меня на сайте неразбериха с записями по рубрикам. Я хочу переместить некоторое количество записей в другие рубрики, навести порядок. Это повлияет на поисковую выдачу? У меня рубрики закрыты от индексации. Канонические URL без вложений. sitename/post/
Здравствуйте Егор! С такой структурой ЧПУ вы можете перекидывать записи из рубрики в рубрику без проблем.
На счет второго вопроса могу сказать следующее. Ссылки с nofollow будут индексироваться и Яндексом и Гуглом, может есть смысл закрыть ссылки в скрипт.
Здравствуйте! Пытаюсь использовать шорткод в виджете, и столкнулась с такой проблемой: код функции вставляется не в виджет, а выше его. Почему так происходит ума не приложу. Помогите пожалуйста! Код из functions.php:
function kulinar_last_posts() <
echo « «;
wp_get_archives(‘type=postbypost&limit=5’);
echo « «;
>
add_shortcode(‘mylastposts’, ‘kulinar_last_posts’);
add_filter(‘widget_text’, ‘do_shortcode’);
Здравствуйте,
А можно как нибудь заключить в шорткоды следующие теги:
Текст