You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many visual editors automatically frame the non-block elements in the tag P, if shortcode will display any block tag, you get
text
and most likely will go layout
Многие визуальные редакторы автоматически обрамляют неблочные элементы в тег
, если шорткод будет выводить какой-нибудь блочный тег, то получится
текст
и скорей всего верстка поедет, внутри тега P не должно быть блочных элементов.
Варианты решения:
Настроить редактор так, чтобы он ставил вместо - костыль
В настройках редактора указать, что {shortcode} - это блочный элемент. Было бы возможно, если бы шорткоды имели вид html-тега: - так сделано в diafan CMS.
Поправить регулярные выражения так, чтобы тег P вокруг шорткода пропускался. Не силен в регулярках, но идея надеюсь понятна. Здесь изменить строчку на что-то такое: $pattern = "/(\<p\>)?(.?)\{([$shortcodes]+)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)(\<\/p\>)?/s";
В GetSimple эта проблема решается 3 способом, только не очень изящное решение у них:
Можно еще посмотреть как WordPress обрабатывает шорткоды.
The text was updated successfully, but these errors were encountered:
Это всё надо настраивать в самих виз. редакторах, но никак не в коде самой cms. Встроенный редактор markItUp такими проблемами не обладает (ну его и виз. редактором не назвать).
Google translate
Many visual editors automatically frame the non-block elements in the tag P, if shortcode will display any block tag, you get
Многие визуальные редакторы автоматически обрамляют неблочные элементы в тег
, если шорткод будет выводить какой-нибудь блочный тег, то получитсяВарианты решения:
вместо - костыль
Здесь изменить строчку на что-то такое:
$pattern = "/(\<p\>)?(.?)\{([$shortcodes]+)(.*?)(\/)?\}(?(4)|(?:(.+?)\{\/\s*\\2\s*\}))?(.?)(\<\/p\>)?/s";
В GetSimple эта проблема решается 3 способом, только не очень изящное решение у них:
Можно еще посмотреть как WordPress обрабатывает шорткоды.
The text was updated successfully, but these errors were encountered: