Толик Панков
hex_laden
............ .................. ................

October 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Толик Панков [userpic]
Отображение шорткодов в блоге WordPress, а точнее их синтаксиса.

ДОЧИТАЙТЕ ДО КОНЦА, КАК НЕЗНАНИЕ ИЛИ ПРЕНЕБРЕЖЕНИЕ К МАНУАЛАМ, ЗАСТАВЛЯЕТ ИЗОБРЕТАТЬ ВЕЛОСИПЕДЫ
Столкнулся я с проблемой, а как отобразить в посте не результат работы шорткода, а его вид в редакторе, т.е. его синтаксис. Для шорткодов, в том же самом блоге не используемых - все нормально. Но для тех шорткодов, которые в блоге используешь - возникает понятная проблема. Вставляешь шорткод в блог, и движок на место шорткода вставляет результат функции, его обрабатывающий. А задача стоит отобразить написание шорткода.
Отобразить синтаксис html-тегов проще, достаточно заменить угловые скобки "<" и ">" на эскейп-последовательности html. Для символов "[" и "]", заменяющих "<" и ">" для шорткода, я не нашел эксейп-последовательностей.

Решение: шорткод, для отображения синтаксиса шорткода.

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

<?php
/**
 * Plugin Name: shortcodes display
 */

function display_shortcode($atts, $content=null)
{			
	$ret=$content;
	return $ret;
}

add_shortcode ('shortcode','display_shortcode');

?>

ВНИМАНИЕ! Переменную $atts нужно добавить обязательно, хотя она фактически не используется, т.к. у данного шорткода параметров нет, но так уж устроен движок Wordpress, что без наличия первого параметра не обработается и параметр $content

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

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




Результат работы:



И как я оказался дураком, надо иногда читать мануалы

Все делается гораздо проще, код шорткода заключается в дублирующиеся квадратные скобки, например [[ljr user="hex_laden"]], т.е. сам шорткод надо заключить не в одни скобки "[" и "]", а в дублирующие "[[" и "]]"

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

Это репост заметки из моего блога на сайте http://tolik-punkoff.com
Оригинал заметки находится здесь: http://tolik-punkoff.com/2016/07/30/otobrazhenie-shortkodov-v-bloge-wordpress-a-tochnee-ih-sintaksisa/

Tags: , ,
Comments
(Anonymous)

вообще-то достаточно окружить шорткод двойными скобками:

[[tolik attr="dyatel"]]
[[example]pink tupoy[/example]]

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

Фу ты ебать зрз...

Та я ж мануалов не читаю, я гуглю, и если не нагугливается, делаю сам, как знаю.
Исправляю, потом, конечно (вот заодно и баги в плагине репоста нашел - репостит-то правильно, а редактировать руками приходитя, приеду из Тая исправлю XD)

а я ещё один секрет открою, ога: пишем &#91; и получаем… опа: [
чудо.

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

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