Как мне избежать правильной скобки в коротком коде?
Я работаю над плагином Google Map, который имеет закодированные точки. Иногда в полигонах есть], что заставляет WP думать, что это конец шорткода.
Например:
[my_shortcode latitude='36.93' longitude='-72.98' encoded_points='ortlF~g]tM?cZEH`z]}|@DQfi]' ]
Я пробовал, ]
что не вызывает проблемы для WP, но это вызывает проблему для моего кода карты Google. Я мог бы использовать Regex для замены], но, возможно, есть более простой способ. У шорткода есть escape-символ?
str_replace()
должна сделать работу также. Было бы менее ресурсоемким, если бы это было.Основываясь на ответе Йоханнеса Пилля, есть функция wp, позволяющая убрать квадратные скобки для использования текста в параметрах шорткода:
Часто люди предлагают использовать шорткод $ content для текстовых параметров, но бывают случаи, когда шорткод имеет много таких текстовых параметров.
источник
Кажется, здесь есть официальная страница: Escapeing Shortcodes
Извлечь:
источник
Даже если вы НЕ играете с URL-адресом, используйте urldecode (ваш attribute_value) с% 5B и% 5D, используемыми в качестве замены для [и] в вашем attribute_value.
Ваш код может выглядеть так:
На вашей странице wp:
[my_shortcode myattr="%5Bmyattribute_value%5D"]
Затем, в вашей функции шорткода, просто сделайте это:
Это восстановит символы [и] в $ origvalue, так что $ origvalue теперь содержит:
[myattribute_value]
СОВЕТ: Если вы играете с URL, сделайте то же самое, но добавьте следующее в код функции:
Если это не ясно: ДА, я делаю urlencode (urldecode (некоторое значение из $ atts)), чтобы создать правильную часть URL.
Все очень просто, надеюсь, это поможет.
пьер
источник
Это старый вопрос, но здесь есть обходной путь с использованием CSS. Вместо скобок заключите символы в диапазон, например:
<span class="bracket">some string</span>
Затем добавьте это в таблицу стилей темы:
результат будет выглядеть так:
[some string]
источник
]
как части контента, а не о том, как его отображать.