WordPress — WPBakery Page Builder — могу ли я установить несколько сборщиков для одной страницы?

Мне нужно настроить 2 поля содержимого для страницы. Первый будет показан внутри заголовка страницы, второй — в содержании страницы. Дизайн довольно сложный, поэтому я не могу использовать один блок контента и просто добавить несколько стилей. Основная проблема заключается в том, что мне нужно, чтобы 2-е поле содержимого также было доступно для управления через WPBakery Page Builder, и, похоже, такой функции нет. Возможно, я мог бы создать пользовательский элемент, добавить его в 1-й ряд, а затем подключить к the_content фильтр, и просто удалите строку с этим элементом. Затем в заголовке сделайте почти то же самое: проверьте, есть ли пользовательский элемент в содержимом сообщения, затем просто вырежьте все и просто отобразите мой элемент. Но я боюсь, что JS и стиль будут сломаны. Может быть, есть некоторые дополнения для этого?

0

Решение

Я не нашел способа использовать 2 редактора, поэтому я решил, чтобы строка с классом «header» отображалась в заголовке, а другой контент — в разделе контента.

<?php //functions.php
/* define which class should we use to separate the content */
define("CLASS_FOR_HEADER", "header");
define("HEADER_SECTION_REGEX", "/\[vc_row([^\w\]])el_class=(?:\"|'|)(.*?)".CLASS_FOR_HEADER."(.*?)(?:\"|'|)(.*?)\]+(.*?|\n)+\[\/vc_row]/");

/* Used in the header to leave only header section.
* header-part-content is a custom action called in the header by
* apply_filters('header-part-content', $post->post_content);
*/
add_filter('header-part-content', function ($content) {
$matches = [];
preg_match_all(HEADER_SECTION_REGEX, $content, $matches);
if (empty($matches) || empty($matches[0])) {
return "";
}
return do_shortcode(implode($matches[0]));
}, 10, 1);/* Used to cut the header elements out of the content */
add_filter('the_content', function ($content) {
return preg_replace(HEADER_SECTION_REGEX, "", $content);
}, 1);
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector