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


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

Добавим информацию к шорткоду: работа с шорткодами, функциями php

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

 

Кто-то скажет: а зачем что-то придумывать? когда можно просто добавить информацию в активный шорткод?

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

…конечно, все это возможно организовать в активном шорткоде, переделав его логику и пр. Но нужно ли это, стоит? тем более, если данная фича требуется временно…

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

 

Итак, поехали… обработка вложенных шорткодов:

 


 

 

 

 

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

 

 

Сам шордкод (его имя) создается просто. Пример:

 

1) задаем имя шорткода и помещаем имя в квадратные кавычки []

 

 

Главное, чтобы имя было обязательно на латинице и уникальным!! – здесь скажу просто: символика, кроме цифр, в имени шорткода запрещена! а также есть ряд зарезирвированных cms WP кодов, которые нельзя использовать – будут ошибки! Об этом ниже…

 

 

получится примерно так:

 

[имя]

 

создаем шорткод:

 

 

add_shortcode( 'имя', 'ats_s_markets' );
function ats_s_markets() {
return '';
// или какой-то процесс
}

 

 

Простейший шорткод создан. Возникает естественный вопрос, а как же вывести шорткод на экран?

 

 

вывод на экран информации шорткода в html организуется так:

 

 

В зависимости от того документа, в котором будете добавлять “вывод” шорткода, предстоит поступать так (подробности ниже):

 

 

do_shortcode( '[имя]' );

<?php do_shortcode( '[имя]' ); // возможно с оператором echo ?>

 

 

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

 

 

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

 

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

 

audiowp_caption, или captionembedgalleryvideoplaylist …разумеется, имена в квадратных кавычках!..

 

 

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

 

 

обработка вложенных шорткодов внутри активного или попросту добавить шорткод в шорткод

 

 

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

 

 

 

add_shortcode( 'имя', 'ats_markets_admins' ); //do_shortcode( '[имя]' )
function ats_markets_admins() {
if ( current_user_can( 'administrator' )) { 
return '<span class="postmesy">то, что нужно вывести только для Админа</span>'; 
}
}
//Пояснения админу
add_shortcode( 'имя2', 'ats_s_markets' );
function ats_s_markets() {
return '' . ats_markets_admins() . '' . '<!-- noindex -->то, что нужно отработать для всех<!--/ noindex -->'; // здесь использую не ШОРТ, а ФУНКЦИЮ
}

 

 

В данном коде (предпоследняя строка) я добавляю к активному шорту НЕ добавочный шотркод:

 

do_shortcode( '[имя]' )

 

но функцию: ats_markets_admins() – которая здесь отработает равнозначно!! Однако во всем есть нюансы…

 

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

 

 

Условные теги WordPress: наиболее полная подборка, пояснения

Условные теги woocommerce – наиболее полная подборка, пояснения

 

 

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

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

 

Как этот тег шорткода убрать, следующая глава:

 

 

как удалить тег шорткода

 

 

как удалить тег шорткода

 

 

add_shortcode( 'имя', '__return_false' ); //вместо 'имя' укажем 'contents'

 

 

Одинокий тег шорткода будет в записях убран! Подробнее о том, как удалить из записей нерабочие теги шорткода!?

 

 

Важно: в данном случае тег шорта в записях будет ТОЛЬКО скрыт!! Но не удален из Базы Данных.!. Т.е. его при случае можно будет вновь активировать…

 

 

Если вам требуется НАПРОЧЬ удалить тег шорткода (стереть из Б.Д,), то об этом как раз в следующей статье – полезные SQL-запросы Базы Данных. Либо воспользоваться одним из плагинов для подобных целей.

 

 

 

Создание… продвижение сайтов; помощь по сайту, настройки, сопровождение и пр. – студия ATs media запросто с WordPress

 

 



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



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

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





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

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

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

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