Шорткод. Блок записей в контенте страниц


Содержание материала:

Собственные шорткоды в WordPress: создание, подключение, использование

Автор: Виктор Рогов · Опубликовано 30.09.2020 · Обновлено 17.02.2020

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

Обычно для каждого применения подбирается соответствующий шаблон (template), но иногда его возможностей не хватает.

Вот тут на помощь приходят шорткоды, с помощью которых можно внести в Вордпресс собственную «изюминку».

Что такое шорткоды и как они работают

Шорткод — это короткий код (shortcode), который вставляется непосредственно в текст страницы, заголовка, виджета — то есть в контент и расширяет возможности Вордпресса.

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

Если отсутствует обработчик конкретного шорткода, то его вызов на странице будет выглядеть как обычный текст.

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

Типы шорткодов по структуре

Они бывают без параметров, с параметрами и с контентом.

Шорткоды без параметров

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

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

[line]

Этот вызов выводит текущий год. Удобно, чтобы не редактировать тексты каждый год.

[god]

Шорткоды с параметрами

Порой нужно передать параметры, чтобы получать разные результаты.

Например, вот так вставляется красивая кнопка, стиль которой должен быть прописан в таблице стилей.

[knopa title= «Перейти» url=http://vrogov.ru/]

Он содержит два параметра: title — это надпись на кнопке, например, Заказать, Подписаться и т.д.

url — это адрес перехода по клику.

Вот так можно вставлять цену в рублях, которая автоматически переводится из цены в долларах по текущему курсу ЦБ.

[usd s=3]

Здесь параметр s — это цена в долларах.

Шорткоды с контентом

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

Вот так можно выделить фрагмент текста или часть поста, «подложив» под него цветную подложку:

[fon color=eeeeee] Тут какой-то текст, который будет отображаться на цветном фоне.[/fon]

Параметр color задаёт цвет подложки в привычном 16-ричном коде.

А вот так можно выводить текст в две колонки одинаковой ширины:

[colum size= «one-half»]

Тут контент для левой колонки

[/colum]
[colum size= «one-half» last= «true»]

А здесь текст для правой.

[/colum]

Как сделать шорткод для WordPress

Как сделать шорткод для WordPress

Шорткод в коде php состоит из функции, которая его обрабатывает, и из команды, которая назначает коду соответствующую функцию.

Вот типичный шорткод для кнопки:

function ha_but($atts,$content=NULL) <
extract( shortcode_atts( array(
‘title’ => ‘Перейти’,
‘url’ => false
), $atts) );

return $output;
>
add_shortcode(‘but’,’ha_but’);

В данном примере функция имеет имя ha_but. Ей передаются два параметра — title и url. Причём для title назначено значение по умолчанию Перейти. Если при вызове кода параметр title пропустить, то на кнопке по умолчанию будет надпись Перейти.

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

Затем функция возвращает результат свой работы с помощью return.

Функция add_shortcode назначает для шорткода по имени but функцию-обработчик по имени ha_but.

А вот стили для кнопки жёлтого цвета во всю ширину страницы:

.btn <
display: inline-block;
color: #000000;
font: 300 16px «Roboto», sans-serif;
text-transform: uppercase;
background: #fde42b;
background: -webkit-gradient(linear, left top, left bottom, from(#fcea38), to(#ffcf00));
background: -webkit-linear-gradient(top, #fcea38 0%, #ffcf00 100%);
background: linear-gradient(to bottom, #fcea38 0%, #ffcf00 100%);
border-bottom: 3px solid #b27d00;
padding: 14px 15px 11px;
width: 90%;
border-radius: 2px;
text-align: center;
text-decoration: none;
text-shadow: 1px 1px 0 #ffec89;

>
.btn:hover <
opacity: 1;
background: -webkit-gradient(linear, left bottom, left top, from(#ffdd02), to(#fffe6d));
background: -webkit-linear-gradient(bottom, #ffdd02 0%, #fffe6d 100%);
background: linear-gradient(to top, #ffdd02 0%, #fffe6d 100%);
border-color: #bd8500;

Как вставить шорткод в шаблон WordPress

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

Лучше вставить его в файл functions.php, который есть в любой теме Вордпресса. Тогда шорткод будет работать на всех страницах, виджетах и т.д.

Однако, если вы обновите или смените шаблон — шорткоды обрабатываться перестанут. Если планируется в будущем менять дизайн блога, то код всех шорткодов лучше разместить в одном файле, например, shortcodes.php, а его разместить в папке my в корне сайта.

В этом случае нужно организовать вызов, вставив в файл functions.php команду require_once( ‘my/shortcodes.php’ );

После смены или обновления темы Вордпресса не забудьте заново прописать эту команду.

Как вставить шорткод в страницу WordPress

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

[knopa title= «Перейти» url=http://vrogov.ru/]

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

Видео урок по созданию более сложных шорткодов смотрите здесь:

Скачайте книгу «Как написать миллион» и узнайте, как получать пассивный доход от своего сайта на WordPress.

Плагин Display Posts Shortcode для WordPress – позволяет вывести последние записи с миниатюрами с помощью шорткода

Если требуется вывести список записей с миниатюрами на произвольную страницу, можно прибегнуть к различным способам, но на мой взгляд самый простой и практичный — воспользоваться плагином Display Posts Shortcode. Вставив шорткод на страницу в визуальном редакторе, и добавив нужные аргументы, можно добиться желаемого результата. Оформить выводимый список под дизайн блога можно, добавив в файл CSS темы нужные стили.

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

Если нужно вывести список записей с заголовками, текстовыми выдержками, миниатюрами, с выравниванием по левому краю, можно использовать такой шорткод:

Шорткод содержит параметр вывода выдержки, миниатюры с размером «thumbnail» (задается в настройках медиафайлов: «Параметры > Медиафайлы»), а также оборачивает выводимые элементы в блоки.

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

Шорткоды

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

Например стандартный вордпрессовский шорткод позволяет вывести галерею внутри поста.

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

Так же, как у функции могут быть аргументы, так и шорткод может иметь собственные параметры. Ещё один пример с шорткодом :

В параметре ids перечислены ID изображений, входящих в галерею, параметр size — размер вставляемых изображений.

Простой пример создания шорткода

Создать свой шорткод не труднее, чем написать собственную функцию PHP. Например я решил создать шорткод [misha] , который при вставке в пост будет выводить URL главной страницы сайта.

Код можете вставить в файл functions.php (я имею ввиду тот, который находится в директории вашей текущей темы).

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

Шорткод с параметрами

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

В качестве примера я написал шорткод, который просто вставляет ссылку в пост, которая открывается в новой вкладке браузера target=»_blank» . Не думаю, что на деле он может быть полезен, но для нас сейчас главное — понять сам принцип работы шорткодов.

Параметров будет два: anchor и url — анкор (текст ссылки) и URL соответственно. Как будет выглядеть сам шорткод: [trueurl anchor=»Мой блог» url=»https://misha.blog/blog»] . Если параметр не будет указан в самом шорткоде, то будет использоваться его значение по умолчанию, заданное в функции.

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

Закрывающиеся шорткоды и шорткод внутри шорткода

Давайте возьмём шорткод из предыдущего примера и немного переколдуем его. Напомню, что шорткод выглядел так:
[trueurl anchor=»текст ссылки» url=»URL ссылки»] .

Что, если мы переделаем его следующим образом: [trueurl anchor=»текст ссылки»]URL ссылки[/trueurl] .

Кроме того, вовнутрь закрывающихся шорткодов можно вставлять и другие шорткоды (благодаря функции do_shortcode()).

В соответствии с этим давайте переделаем наш код из предыдущего примера:

Теперь шорткод следующего вида [trueurl anchor=»главная»][misha][/trueurl] выведет ссылку на главную страницу вашего сайта (про шорткод [misha] я писал выше).

Добавляем кнопку вставки шорткода в визуальный редактор поста TinyMCE

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

1. PHP

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

В этом примере для получения URL папки с текущей темой я использовал функцию get_stylesheet_directory_uri(). true_button.js — собственно сама кнопка, создайте этот файл в директории с темой (или там, где вам удобно, но не забудьте в этом случае поменять путь к нему).

2.1. JavaScript. Пример простой кнопки

Займёмся содержимым файла true_button.js . Итак, создадим для начала простую кнопку, которая будет вставлять шорткод [misha] .

2.2. Кнопка с иконкой, выпадающим списком и с возможностью задавать параметры шорткода

Начну с того, что вставлю (а точнее заменю) код в файл true_button.js :

После вставки кода моя кнопка уже появилась и работает. Единственное только — у неё нет никакой иконки (ну кроме стрелочки вниз).

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

  • Встроенные иконки TinyMCE.
  • Другие иконочные шрифты, в том числе и dashicons.
  • Любую картинку через background-image .
  • Изображение, закодированное в base64.

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

Если использовали этот же способ и иконка не появилась — попробуйте прописать к ней абсолютный URL.

Для подключения CSS используйте функцию wp_enqueue_style() либо хук admin_head .

Если вы хотите использовать dashicons, то ваш CSS для иконки перца будет выглядеть примерно следующим образом:

Применение шорткодов к переменным в PHP

Тут всё сводится к использованию одной функции — do_shortcode() .

do_shortcode()

Функция в качестве параметра может содержать лишь один шорткод:

Или шорткод и какой-то контент:

Популярный пример, позволяет получить или вывести содержимое поста с применением шорткодов при помощи функции get_the_content():

Вот пожалуй и всё. Если у вас возникнут какие-то вопросы, пожалуйста, оставляйте их ниже в комментах, буду рад помочь.

Ещё пара интересных примеров шорткодов

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2020 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Shortcodes — что это и как использовать?

Приветствую, уважаемые читатели wpnice. Сегодня поговорим о такой полезной функции в вашем блоге как шорткоды. А последующие две публикации я посвящу обзору двух самых популярных плагинов по использованию шорткодов. Первый плагин бесплатный — Shortcodes Ultimate. И еще один, платный — Styles with Shortcodes. Изначально хотел сразу приступить к обзору плагинов, но все таки, решил сначала сделать небольшую статью о том, что такое вообще шорткоды.

Что такое шорткоды [shortcodes]?

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

Топ-пост этого месяца:  PHP unserialize функция с фильтрацией данных для обеспечения безопасности

Что дают шорткоды?

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

Шоркоды стали использоваться в WordPress c версии 2.5. Собственно говоря, многие привычные плагины именно тем и занимаются, что выводят необходимый пользователю контент именно в виде шорткодов. Например, плагин — Video Sidebar Widgets или всем известная галерея — Nextgen Gallery. Я уж не говорю о таком популярном плагине как Visual Composer.

Визуально шорткоды выглядят как правило, в виде текста заключенного квадратные скобки — [ shortcode ]. Их легко запомнить и достаточно просто вставить в контент вашей страницы, записи или даже в текстовый виджет в сайдбаре.

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

Как их использовать?

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

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

Шорткод вывода любого поста на любой странице

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

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

Пример использования шорткода:

XX – это ID поста. Довольно простой шорткод: просто указываете ID поста, и его содержимое выводится в нужном месте страницы. Если вы ничего не укажете или укажете несуществующий ID, то шорткод просто ничего не выведет. Шорткод удобен тем, что с его помощью можно обойтись без создания специального шаблона для такой страницы.

Related Articles

Как добавить временный класс элементу в цикле?

Нужно в течение недели после публикации держать у определённого элемента в цикле класс. Например, вот что есть: маленький цикл на 1 запись из категории «Акции», который выводит дату этой записи в формате ЧЧ.ММ. В шапке […]

Как сделать отдельный файл для формата записи?

Добавил в тему поддержку форматов записей: add_theme_support( ‘post-formats’, array( ‘aside’,’image’,’quote’,’status’,’video’,’audio’,’chat’ ) ); И возник вопрос, а можно ли сделать отдельные php файлы для каждого формата. То есть, чтобы в папке темы были файлы image.php audio.php […]

Как автоматически менять атрибуты постов по прошествии определенного времени | Content Scheduler

Предположим, что вам нужно автоматически менять определенные атрибуты у постов по истечении какого-то времени. Например, изменять категорию постов по прошествии недели, или автоматически снимать закрепление на главной странице по прошествии трех дней. Можно, конечно, это […]

8 комментариев

если вставить 100 шорткодов на страницу – блог упадет от такого количества запросов?

Если использовать кэширование, то ничего с блогом не случится. Один раз сделает дикое количество запросов, а потом будет обходиться без них.

Все получилось. Огромное спасибо, но на странице выводит один пост, ка же сделать чтоб выводились все посты из какой то одной(или нескольких) категорий?

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

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

Рубрику “Новости” и ее содержимое закрыть от индексации чтобы роботы не сканировали короткие записи

Вы хотите выводить с помощью шорткода несколько последних постов из определенной категории? Тогда удобнее смастерить другой шорткод. Например, такой:

id – это ID категорий, из которых нужно выводить посты
count – количество последних постов

Спасибо за код, мне еще рекомендовали mini-loop модуль – пока я с ним проколупался и вставил ваш код вы сделали то что нужно – спасибо – я сейчас исправлю код. Все работает как часики – заключил в span и выводится все красиво

Доброго времени суток подскажите пожалуйста. А как добавить шорткод для собственного типа постов? Например: нашол я в интернете как регистрировать – зарегистрировал
register_post_type(‘gadgets’,
array(
‘labels’ => array(
‘name’ => __(‘Gadgets’),
‘singular_name’ => __(‘Gadget’),
//остальные переводы
),
‘public’ => true,
‘publicly_queryable’ => true,
‘query_var’ => true,
‘taxonomies’ => array(‘category’,’post_tag’),
‘supports’ => array(‘title’,’editor’,’author’,’thumbnail’,’excerpt’,’comments’),
‘rewrite’ => array(‘slug’ => ‘gadgets’),
//другие настройки
)
);
но шорткод их не выводит(((
Благодарю!

Переписал… Вопрос снят…добавил в начало кода данные
$args = array(
‘post_type’ => ‘gadgets’,
………

add_shortcode() WP 2.5

Добавляет новый шоткод и хук для него.

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

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

Результат, который возвращает функция (обработчик шоткода) всегда должен возвращаться, а не выводиться на экран.

Шоткоды — это конструкция вида: [somename] или [somename ] или [somename]текст[/somename] в тексте, которые будут заменены другим текстом созданным функцией-хуком отвечающим за шоткод.

Видео о шорткодах в WordPress:

Возвращает

Ничего не возвращает.

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

Название шоткода, который будет использоваться в тексте. Например: ‘gallery’.

В названии нельзя использовать пробелы и нестандартные символы вроде: & / [ ] = .
По умолчанию: нет

Название функции, которая должна сработать, если найден шоткод.

Функция получает 3 параметра, каждый из них может быть передан, а может нет:

$atts (массив)
Ассоциативный массив атрибутов указанных в шорткоде.
По умолчанию: » (пустая строка — нет атрибутов)

$content (строка)
Текст шорткода, когда используется закрывающая конструкция шорткода: [foo]текст шорткода[/foo]
По умолчанию: »

  • $tag(строка)
    Тег шорткода. Может пригодится для передачи в доп. функции. Пр: если шорткод — [foo] , то тег будет — foo .
    По умолчанию: текущий тег
  • По умолчанию: нет

    Примеры

    #1. Пример регистрации шоткода [footag foo=»bar»] :

    #1.2. Установка белого списка атрибутов шорткода

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

    #2. Регистрация шорткода с контентом

    Пример создания такого шоткода: [baztag]здесь текст[/baztag] :

    #3. Регистрация шоткода для классов

    Если ваш плагин написан классом:

    #4 Вставка iframe через шорткод

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

    WordPress.com

    Справка

    Шорткоды

    Шорткод отображения записей

    Опция Показывать шорткод записей дает возможность добавлять список записей вашего блога на разные страницы. Используя параметр Аргументы, вы можете задать показ записей с отбором по рубрикам или тегам.

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

    Содержание

    Шорткод [display-posts] не будет работать для сайтов с тарифными планами WordPress.com Business и выше, где используются плагины. Разные плагины предоставляют сходные функциональные возможности.

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

    Обзор шорткода показа записей

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

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

    Добавление шорткода

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

    1. Отредактируйте страницу, запись или текстовый виджет.
    2. Добавьте шорткод [display-posts] к записи или странице.
    3. Опубликуйте или обновите страницу/запись.

    Если вы используете редактор блоков WordPress, вы также можете добавить блок шорткода для добавления шорткода показа записей.

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

    Шорткод показа записей по умолчанию отображает маркированный список из 10 последних по времени записей. Можно настроить количество записей и стиль, а также выбрать элементы записей, которые будут отображаться в списке (заголовок, избранные изображения, цитаты и т. д.)

    Отображение аргументов

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

    author
    Указывает автора записи
    Значение по умолчанию: пусто
    Пример: [display-posts author=»bill»]

    category
    Указывает слаг рубрики (или список слагов рубрики, разделенных запятыми). Посмотрите, как выглядит этот шорткод, в этом примере сайта.
    Значение по умолчанию: пусто
    Пример: [display-posts category=»fishing,hiking»]

    date_format
    Указывает используемый формат даты, если параметр include_date = true. Подробнее об этом сказано в разделе Кодекса Форматы даты и времени.
    Значение по умолчанию: ‘(n/j/Y)’
    Пример: [display-posts include_date=»true» date_format=»F j, Y»]

    id
    Указывает идентификатор конкретной записи или идентификаторы нескольких записей, которые следует отображать.
    Значение по умолчанию: пусто
    Пример: [display-posts ]

    image_size
    Указывает размер для показа избранного изображения, если оно есть в записи. Для параметра image_size можно выбрать значения thumbnail, medium, large (в разделе «Настройки > Медиафайлы»).
    Значение по умолчанию: пусто
    Пример: [display-posts image_size=»thumbnail»]

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

    include_content
    Указывает, что после заголовка следует включать все содержимое записи.
    Значение по умолчанию: пусто
    Пример: [display-posts include_content=»true»]

    include_date
    Указывает, что после заголовка следует включать дату записи. По умолчанию используется формат (7/30/12), но его можно изменить с помощью параметра date_format.
    Значение по умолчанию: пусто
    Пример: [display-posts include_date=»true»]

    include_excerpt
    Указывает, что после заголовка следует включать цитату из записи (и дату, если она есть).
    Значение по умолчанию: пусто
    Пример: [display-posts include_excerpt=»true»]

    offset
    Указывает количество пропускаемых записей
    По умолчанию: 0
    Пример: [display-posts offset=»3″]

    order
    Указывает порядок размещения записей: от старых к новым (DESC) или от новых к старым (ASC).
    Значение по умолчанию: DESC
    Пример: [display-posts order=»ASC»]

    orderby
    Указывает, как следует сортировать записи. Доступные параметры перечислены здесь.
    Значение по умолчанию: date
    Пример: [display-posts orderby=»title»]

    portfolio_type
    Если используется тип записи «Портфолио», выберите здесь конкретные элементы для данного типа портфолио.

    post_parent
    Задает показ страниц, для которых заданная страница является родительской. Вы можете указать идентификатор или «текущая», чтобы использовать в качестве родительской текущую страницу.
    Значение по умолчанию: пусто
    Пример: [display-posts post_type=»page» post_parent=»8″]

    post_status
    Задает показ записей с определенным статусом записи
    Значение по умолчанию: публиковать
    Пример: [display-posts post_status=»publish, future»]


    post_type
    Задает используемый тип записи. Можно использовать значение по умолчанию (post или page). Для типа Портфолио используйте значение «jetpack-portfolio». Аналогичным образом, для типа Отзывы используйте значение «jetpack-testimonial».
    Значение по умолчанию: post
    Пример: [display-posts post_type=»page»]

    posts_per_page
    Задает количество отображаемых записей.
    Значение по умолчанию: 10
    Пример: [display-posts posts_per_page=»5″]

    tag
    Указывается слаг тега (или список слагов тега, разделенных запятыми)
    Значение по умолчанию: пусто
    Пример: [display-posts tag=»tag1, tag2″]

    taxonomy, tax_term, tax_operator
    Используйте эти параметры для расширенных запросов таксономии. Параметр «taxonomy» используется для запросов таксономии, «tax_term» — для слага термина (или терминов), которые вы хотите включить, «operator» — для выбора иного порядка терминов в запросе (скорее всего это поле не потребуется).
    Значение по умолчанию: «taxonomy» = «пусто», «tax_term» = «пусто», «operator» = «IN»
    Пример: [display-posts taxonomy=»color» tax_term=»blue, green»]

    Топ-пост этого месяца:  Метод pop в TypeScript удаление последнего элемента из массива и его возврат

    wrapper
    Здесь выбирается тип HTML для отображения списков. Можно задать неупорядоченный список (ul), упорядоченный список (ol) или разделители (div) и затем выбрать для них стиль.
    Значение по умолчанию: ul
    Пример: [display-posts wrapper=»ol»]

    Примеры настройки

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

    [display-posts tag=»advanced» posts_per_page=»20″]

    Будут перечислены 20 последних записей с тегом advanced.

    [display-posts tag=»advanced» image_size=»thumbnail»]

    Будут перечислены 10 последних записей с тегом Advanced и будет отображена запись с использованием размера Thumbnail.

    [display-posts category=»must-read» posts_per_page=»-1″ include_date=»true» order=»ASC» orderby=»title»]

    Будут перечислены все записи в категории Must Read (Обязательно прочесть), в алфавитном порядке, с датой, добавленной в конце.

    Будут отображены записи в виде упорядоченного списка. Опции: ul — для неупорядоченных списков (значение по умолчанию), ol — для упорядоченных списков или div — для делителей.

    Будут отображены только записи с идентификаторами (ID) 14 и 3.

    Выравнивание изображений

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

    [display-posts include_excerpt=»true» image_size=»thumbnail» wrapper=»div»]

    В данном примере в список без маркеров включается цитата и добавляется изображение миниатюрного размера (вы можете настраивать размер изображений в разделе Управление → Настройки → Медиафайлы).

    Чтобы получить изображение, плавающее по правому краю, добавьте этот код в пользовательский файл CSS (требуется платная услуга WordPress.com Premium или WordPress.com Business):

    .display-posts-listing .alignleft <
    float: right;
    margin: 0 0 5px 5px;
    >

    (Расширенные) запросы таксономии с несколькими критериями

    Хотя для большинства пользователей достаточен запрос таксономии с одним критерием, этот шорткод поддерживает бесконечное количество запросов таксономии. Например, вы хотите отобрать все записи из рубрики «Избранные», отмеченные тегом «homepage». Мы будем использовать шорткод, который выглядит следующим образом.

    [display-posts taxonomy=»category» tax_term=»featured» taxonomy_2=»post_tag» tax_2_term=»homepage»]

    Вы можете использовать любое количество строк, но просто начнём с количества, равного 2. В списке полей ниже замените строку «(count)» на фактический номер.

    Доступные поля:

    taxonomy_(count)
    Указывает, какую таксономию запрашивать
    Значение по умолчанию: пусто

    tax_(count)_term
    Указывает, какие термины включать (если их несколько, они разделяются запятыми)
    Значение по умолчанию: пусто

    tax_(count)_operator
    Указывает, какую операцию применять в запросе терминов (IN, NOT IN или AND)
    Значение по умолчанию: IN

    tax_relation
    Описывает взаимосвязь между запросами таксономии с несколькими критериями (должны ли результаты соответствовать всем запросам или только одному из них). Доступные опции: AND и OR
    Значение по умолчанию: AND

    Лимиты

    Шорткод отображения записей имеет ограничение на 100 отображаемых записей.

    Вывод записей WordPress с помощью шорткода плагин Display Posts Shortcode

    Привет! Сегодня я покажу вам как выводить записи WordPress с помощью шорткода. Вы сможете добавлять записи из любой категории на любую страницу. Можно выводить записи определённого автора. Очень много параметров для вывода записей. Очень простой и полезный плагин!

    Установить плагин Display Posts Shortcode вы сможете прямо из админ-панели WordPress. Перейдите на страницу: Плагины – Добавить новый , введите название плагина в форму поиска, установите и активируйте плагин.

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

    Далее, перейдите в Детали плагина. На вкладке Описание , в содержании, нажмите на ссылку Available Parameters .

    Далее, у вас откроется страница Параметры . Здесь вы сможете копировать шорткоды и настраивать их. Я вам покажу 2 основных варианта вывода записей с помощью шорткода. С остальными разбирайтесь сами с помощью переводчика. Можете написать мне или оставить комментарий, я помогу разобраться.

    – author, шорткод для вывода записей определённого автора. В шорткод нужно вставить имя автора: author=”Вася Пупкин”.

    – category, выводите с помощью данного шорткода записи из любых категорий, из одной или нескольких. Просто вставьте название категорий в шорткод: category=”бизнес, медицина”.

    – Просто копируете шорткод, добавляете в него свои данные, и вставляете его на любую страницу.

    Всё готово! Вот так просто и быстро вы можете выводить записи WordPress на своём сайте, в любом месте, из любой категории или автора!

    Остались вопросы? Напиши комментарий! Удачи!

    Создание шорткодов в WordPress CMS

    Что такое шорткоды

    Начиная с версии 2.5, разработчики WordPress ввели понятие «Shortcodes API». Этот функционал позволяет создавать и использовать макрокоды в страницах сайта или в записях блога. Например, простая и короткая запись добавит на странице целую фотогалерею.

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

    В статье хочу показать, как правильно создавать более сложные шорткоды и решить наиболее распространенные проблемы при их создании:

    1. Подключение сторонних скриптов и запуск только при наличии шорткода на странице.
    2. Многоуровневый шорткод.
      • Составной шорткод.
      • Вложенность шорткодов.

    Подготовка почвы

    Прежде чем начать создавать что-либо, предлагаю свой вариант размещения файлов:

    Практически в каждом руководстве предлагают создавать шорткоды прямо в файле functions.php. Скажу сразу: я — противник такого подхода. Вместо этого настоятельно рекомендую вынести все шорткоды в отдельный файл (includes/shortcodes.php) и подключить его в functions.php одной строкой. Это значительно разгрузит functions.php и сделает код более читабельным.

    Заметка: WordPress, конечно, поддерживает подключение файлов через require, но очень не рекомендует делать этого. Вместо этого предлагается использовать get_template_part().

    Подключение скриптов

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

    Пример такой реализации:

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

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

    1. Определить шорткод как отдельный класс.
    2. Добавить флаг, который определит есть ли данный шорткод на странице.
    3. Загружать скрипт только по флагу присутствия шорткода.

    Пример такой реализации:

    В отличие от предыдущего варианта реализации, этот шорткод инициализируется, но все скрипты подгружаются только при наличии шорткода на странице.

    Вложенные шорткоды

    Есть еще пара проблем, с которыми могут столкнуться начинающие разработчики:

    • Создание многоуровневого шорткода (состоящий из нескольких).
    • Использование шорткода внутри такого же шорткода.

    Теперь — более детально.

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

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

    [price]
    — [plan title=’Plan 1’ price=’99’]
    — [option] Option 1 [/option]
    — [option] Option 2 [/option]
    — [option] … [/option]
    — [/plan]
    — [plan title=’Plan 2’ price=’499’]
    — [option] Option 1 [/option]
    — [option] Option 2 [/option]
    — [option] … [/option]
    — [/plan]

    [/price]

    В данном примере используется три шорткода: [price] [plan] [option].

    add_shortcode( ‘price’, ‘price_code’ );
    add_shortcode( ‘plan’, ‘plan_code’ );
    add_shortcode( ‘option’, ‘option_code’ );

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

    Price -> вывод кода на страницу
    Plan -> получение данных
    Option -> получение данных

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

    Описание функций внутренних шорткодов:

    При этом подходе шорткод будет работать только в сборе, т. е. при правильном использовании, в других случаях ничего не будет выведено на экран (соответственно, ничего не сломается).

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

    Повторяющиеся шорткоды

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

    [column_half]
    [column_half] Content [/column_half]
    [column_half] Content [/column_half]
    [/column_half]
    [column_half] Content [/column_half]

    К сожалению, для WordPress уже такая вложенность “не по зубам”. Верстка разлетится уже на втором контенте. Происходит это потому что при открытии шорткода WordPress сразу же ищет вторую (закрывающую) часть этого шорткода, т.е. в данном примере первая колонка будет закрыта на первом же вложенном шорткоде.

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

    Заключение

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

    Автор: Дмитрий Кабаков, Senior Front-end Developer.

    Как сделать, чтобы шорткод работал в любом месте шаблона WordPress?

    Недавно при разработке одного плагина для WP я столкнулся со такой вот проблемкой:

    Нужно было заставить стандартный вордпрессовский Shortcode работать не только в записях или на страницах, но и в коде самого шаблона, т.е. в любом месте текущего шаблона. Чтобы можно просто вставить шорткод в один из файлов шаблона и не париться со всякими там PHP ��

    На самом деле решение я нашел довольно быстро, потому что в буржунете этот вопрос уже обсуждался.

    Вот супер-краткое решение, которое нужно просто вставить в нужное месте в любом из файлов твоего шаблона:

    Вместо варианта [shortcode] нужно конечно прописать свой шорткод.

    Например, [square w ]

    А вот еще решение, но более продвинутое. В данном случае шорткод берется из значения meta-поля к записи. В данном случае это поле gallery. А вот и сам код:

    [ Прочитайте комменты ниже или напишите свой. ]

    108 комментариев к “Как сделать, чтобы шорткод работал в любом месте шаблона WordPress?”

    Здравствуйте! У меня такая ситуация: нужно вставить шорткоды ниже поста в файле темы single.php. Точнее поместить шорткод формы cforms внутри шорткода jquery-collapse-o-matic. Я использовал следующий код:

    Плагин jquery-collapse-o-matic работает, а форма cforms нет(
    Сforms можно вставить с помощью функции , но только не вместо , т.к. тогда вообще ничего не будет работать. Помогите пожалуйста, как можно решить эту проблему?

    Привет. Разобрался я с твоей проблемой хитрым способом ��

    отличное решение, ваш метод помог

    Подскажи а как применить это к одной конкретной странице в виде кода.

    что нужно тут добавить id 20.

    Спасибо за пост!

    Привет, Денис. А на какой странице ты хочешь этот код применить? И какой у тебя шорткод?

    Если можешь, расскажи немного подробнее и укажи ссылку. Я тогда смогу посмотреть и подсказать тебе точно.

    Что делать если в теме вордпресс, которую я использую не работают плагины- шорткоды в редакторе записи. Они просто ни вставляются в запись. Плагины шорткодов перепробовала 5 штук..

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

    ПРивет)) Подскажите пожалуйста) Как сделать так что бы не вставлять вручную на каждую страницу шот код, а так что бы он уже был на всех страниц автоматом?

    Куда его именно в шаблоне темы нужно вставить?

    (Я пробовал в Функции темы (functions.php), но после вставки кода, сайт не работает(((((

    Привет! Ну смотри. Куда именно ты хочешь вставить шорткод?

    Например, если ты хочешь добавить какую-то информацию в конце каждого текста статьи или в начала каждого текста, то в таком случае можно использовать фильтр «the_content». А код будет примерно следующий:

    Если еще остались вопросы, то пиши ниже, я постараюсь все разъяснить.

    P.S. У тебя классный сайт, мне очень понравился. Хочу дать еще советик: установи плагин RusToLat, чтобы ссылки все были без русских символов. То есть чтобы ссылки состояли только из латинских букв, поисковики не любят мешанину в ссылках, они больше привыкли к транслиту. А этот плагин переведет имеющиеся ссылки в транслит и все добавляемые страницы будет также автоматически делать с транслит. ссылками.

    Ну я имел ввиду ситуацию такую))

    Вот у меня на сайте, в разделе наши работы, там ползунок))

    Я его вставлял шот кодом, на странице, а как мне сделать так что бы

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

    Плагин называется jScrollPane Shortcode))

    Надо зайти в админку — меню «Внешний вид» — «Редактор», справа найти файл «Функции темы (functions.php)» и туда после или перед ?> сразу вставить код, который ниже:

    P.S. Параметры width и height, если необходимо, спокойно изменяй на те, которые необходимы тебе.

    Ещё один вопрос интересует)))

    Есть какой плагин или как сделать что бы при входе на сайт была фоновая музыка))) но так что бы без плеера)

    Без плеера ты не сделаешь этого �� Но можно вставить плеер с автовоспроизведением и скрыть его с помощью CSS.

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

    Богдан, добрый день. В вордпрессе новичок, и хотелось бы вас спросить как вставлять в шаблоне.php, внутри самогО шоткода, PHP-код? (прошу прощения за тавтологию)

    и нужно вместо контента, вставить, ну к примеру:

    я сам дизайнер, не программист, помогите, будьте добры))

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

    и в правду, попытка номер два:
    имеем:

    и нужно вместо контента, вставить, ну к примеру:

    Если я верно понял, то, что вы хотите сделать. Попробуйте вот так:

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

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

    P.S. Я вам на почту напишу. Мне и моим клиентам помощь веб-дизайнера иногда нужна, и будет классно, если мы обменяемся контактами с вами.

    Очень интересует вопрос как сделать, что бы у меня страницы на сайте с таким эффектом ластились как тут? blog.n1dev.ru/demo/page-transitions

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

    Это я видел)) Но я не понимаю как это сделать?) Куда какой код вставлять))

    Я коды распределяю но не чего не работает((((((

    Понятно �� В таком случае, ответ на ваш вопрос не попадает в формат комментариев на блоге. Напишите мне по контактам со страницы «WP Помощь на этом блоге, возможно я смогу вам помочь, но нужно узнать у вас детали.

    Я Вам на почту отправил письмо с вопросом о стоимости Ваших услуг. Очень нужна Ваша помощь.

    Я вам на почту написал))))

    Здравствуйте! Подскажите, пожалуйста. В контент записей/страниц можно вставлять что-то типа шорткодов вида . Как такое называется и можно ли работать с этой штукой вне контента записи (вроде как, можно обрабатывать его вордпрессовской функцией the_content)?

    Здравствуйте, Ксения. Не совсем понял вашу проблему, опишите пожалуйста, подробнее, что вы хотите сделать и что у вас не получается?

    никак не удается сделать так, чтобы шорткод заработал..

    сделала отдельный шаблон для страницы (в нее вставила сверстанную html-ку), то есть от вордпресса там только код вывода поста..

    и когда редактирую этот самый пост через wp, шорткод не срабатывает (мне нужен спойлер), и на странице сразу отображается и содержимое спойлера..

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

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

    Она примерно так выглядит, и через нее выводится код, которые подключает на страничке скрипты, которые в свою очередь дают возможность спойлеру сворачиваться и разворачиваться ��

    Поэтому либо вернуть эту функцию, либо добавить код, подключающий скрипт спойлера, вручную.

    Если что-то непонятно или не получается, пиши здесь, рад буду помочь.

    Материал СУПЕР. Спасибо, меня Вы здорово выручили!

    Приветствую! Такой вопрос:

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

    Желательно не так чтобы индивидуально и статично вбивался шорт через php, а просто как-то глобально разрешить что ли использование шорткодов, конечно за исключением пользовательских полей (комменты и пр.)

    В интернетах пока нашел только схожие с вашим советы по внедрению.

    Здравствуй, Фаррух. Уточни пожалуйста, где именно ты хочешь разрешить использование шорткодов?

    Первое: хотел бы использовать в «Описании» поля, который существует или создается в «Полях профиля».

    Кстати, установлен BuddyPress.

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

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

    Понятно. Я сначала не понял, о каких полях речь, но хорошо, что ты упомянул BuddyPress. Эти поля появились благодаря этому плагину ��

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

    Ее нужно просто добавить в файл темы functions.php (Функции темы).

    Что делает эта строчка: Она заставляет текст, написанный в поле текстового виджета, проходить через функцию do_shortcode, которая как раз приводит шорткод в действие.

    И я предполагаю, что можно тоже самое сделать и для «Описания поля», о котором ты пишешь, нужно только найти название фильтра в BuddyPress, который отвечает за это «Описание поля», аналогично названию фильтра widget_text, который это делает для текстового виджета.

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

    P.S. Я эту строчку на работоспособность не проверял, но предполагаю, что должна работать.

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

    т.е. Сегодня я в описании «полей профиля» ставлю(через админку конечно) спойлер и вышеприведенная функция исполняет её, а завтра ставлю вкладки и фукнция исполняет его.

    или мне надо каждый раз править код под нужный мне ШК вручную?

    если править вручную, имеется ли в ВП (уже)готовая(встроенная) функция или класс при помощи которой я бы прогонял текст и передавал его на обсуждаемую нами код?

    Ну вот, например, вот эта строчка:

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

    Аналогично вот эта строчка:

    Что она сделает: она также позволит пользоваться любыми шорткодами, но уже в полях профиля пользователя.

    А вообще тебе наверно нужна эта функция:

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

    то что я искал и спрашивал, но так и не попробовал это

    Это именно то чего я допытывался, и вправду добавление этой строчки один раз, позволяет применять шорткоды и менять их как «перчатки» по необходимости, конечно не глобально, но вполне устраивает, глобальность это можно сказать было отчаянием, ведь все равно везде ШК не нужны ��

    В моем случае это было описание поля

    поэтому в начале я сделал так:

    не заработало, достаточно было добавить get_

    И вуаля, все работает, код который с echo лишний когда есть это.
    И теперь по дороге «Консоль» > «Пользователи» > «Поля профиля» > «Поле и его описание», какой бы ШК уже имеющийся в ВП или который будет загружен в будущем может быть легко вписан в «Описание поля» с ожиданием соответствующего результата!

    С уважением, Фаррух.

    Отлично! Рад был помочь ��

    Здравствуйте, Богдан! Вставляю шорткод [шорткод] в середине поста с помощью стандартного редактора. Должна появится форма с элементами. Она и появляется, но вверху контента, под заголовком. В какие только div’ы я форму не заворачивал, все одно — не на месте.

    А что за шорткод вставляете?

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

    Богдан, вот упрощенный, вставляемый по шорткоду код. Смысл скрипта — данные формы передаются для обработки в другой файл php, результату обработки без перезагрузки страницв выводятся в div’e. Что нужно изменить, чтобы форма появлялась в нужном мете поста?

    Код можно оборачивать в тэги [_php] ваш код [/_php], [_javascript] ваш код [/_javascript], только без нижнего подчеркивания.

    Я посмотрел ваш код, там у вас все корректно. Но вы мне не показали самого важного. А именно PHP функцию, которая находится в файле плагина или в файле functions.php (смотря куда вы ее поместили) и отвечает за вывод все этого вашего кода.

    Предполагаю, что у вас там что-то типа этого:

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

    Чтобы ваша форма выводилась в нужном месте. Вам нужно кое-что поменять. А именно записать ваш код в переменную PHP, и затем вернуть результат функции через оператор return.

    И в этот код вместо

    вам нужно вставить весь ваш код. И тут важный момент: перед всеми одинарными кавычками в Вашем коде поставить символ \ (backslash). Именно в вашем, который вы будете вставлять. Это нужно для того, чтобы одинарные кавычки в PHP, не пересекались с одинарными кавычками в Javascript.

    Если что-то не получится, пишите. И лучше все-таки будет, если вставите свой код ��

    Спасибо за подробное объяснения, сейчас конкретизирую, а то сам все одно не разобрался. Есть файл usn.php, там и javascript и форма:

    В функциях темы добавлено:

    Т.е. файл подгружается с помощью include. Никак нельзя без изменения самого файла обойтись, просто обработав его в функции declaratciia?

    В таком случае проще всего вам будет сделать так:

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

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

    Поэтому, попробуйте вот эту строчку убрать:

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

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

    Богдан, здравствуйте! Что-то я совсем не понимаю куда вставлять шорткод

    Здравствуйте, Мария. А куда вы хотите вставить шорткод вообще? В какой-то файл шаблона или просто текст записи?

    Доброго времени! у меня такая проблема с шорт кодом. И предполагаю что виновата тема wordpress и мои неглубокие знания в php. Вообщем делаю всплывающую модальную форму на основе плагина easy fancybox и contact form 7 . Вставляю шорт код в шаблон, форма всплывающем окне не выводится, обернул шорт код в »
    » заработало, но не везде и форма стала отображаться с горизонтальной прокруткой. На главной странице вставляю код пропадает пол шаблона =D . Помогите плиз)

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

    Доброго времени суток!

    Материал действительно выручил, мне необходимо было вставить слайдер в шапку сайта с помощью шорткода. Все отлично работает. Но так как это шапка, слайдер, естественно, показывается на всех страницах, что совсем не нужно. Подскажите, как отображать этот самый слайдер лишь на главной странице?

    Спасибо за коммент, Марк.

    Чтобы отображать шорткод слайдера только на главной странице, тебе нужно заменить обычный код из статьи:

    Тут я добавил условие на проверку — является ли текущая страница главной или нет, и если является, то отображать на ней шорткод.

    Yandex Maps API работает в сайдбар только в том случае, если устанавливаю шорткод и на странице, если убираю, то и в сайдбар перестаёт работать код:

    echo do_shortcode(‘[yandexMap center=»40.728333,-73.994167″ height=»300″ w zoom_inital=11][/yandexMap]’);

    Здравствуйте, Богдан!
    Спасибо за материал — уже не раз выручил!
    Но вот столкнулся с такой задачей — всем нравится эта тема: http://jellythemes.com/themes/sonoramawp/
    Но для полного счастья принципиально хочу над статичной картинкой в слайдере поставить плеер радио.
    Беру шорткод плеера, формирую строчку кода: и вставляю в файл homepage.php, где и реализован слайдер темы:

    плеер появляется, но слайдер «ломается»: кадры слайдера встраиваются в ряд, исчезают кнопки назад-вперед, исчезает родной аудиоплеер внизу.

    Что я делаю не так? Куда лучше вставить строчку с шорткодом плеера, чтобы все работало?

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

    Добрый день, Богдан.
    Я пытаюсь добавить шоткат аудио плеера только для front page.
    Вот этот код добавляю в header.php ?php
    if(is_front_page())< echo do_shortcode ( ‘ [sc_embed_player fileurl=" http://localhost:8888/body.fr/public_html/wp-content/uploads/2015/03/danse-dance-body.mp3" autoplay="true"]’);
    >
    ?
    Код выводится в виде текста в заголовке и все. Может какая то ошибка в коде?
    Спасибо

    Добрый день, Ольга.

    А вы куда именно вставляете этот код?

    Скорее всего, вам нужно вставлять код без тегов :

    Топ-пост этого месяца:  Как применить технологию Ajax для WordPress Плагины
    Добавить комментарий