Как получить доступ к переменным в расширенном плагине WordPress для Visual Composer?

Я пытаюсь расширить бэкэнд страницы моего клиента с помощью расширенного плагина Visual Composer. Я следовал приведенным здесь инструкциям: http://kb.wpbakery.com/index.php?title=Visual_Composer_tutorial.

Плагин отображается в бэкэнде WP, а поля, которые я создал, показаны так:

array(
"type" => "textfield",
"holder" => "div",
"class" => "",
"param_name" => "fourth_quote",
"value" => __("", 'vc_extend'),
"description" => __('Fourth testimonial quote', 'vc_extend')
)

Тем не менее, я не понимаю, как я должен получить доступ к «четвертой цитате» позже:

public function renderMyBartag( $atts, $content = null) {
extract( shortcode_atts( array(
'faa' => 'something',
'color' => '#FF0000'
), $atts ) );

$content = wpb_js_remove_wpautop($content, true); // fix unclosed/unwanted paragraph tags in $content

$output = '<div>{$fourth_quote}</div>';
error_log(date('[ d.m.Y H:i:s ] ') . $output . PHP_EOL, 3, "my-errors.log");
return $output;
}

Это, однако, ничего не выводит, даже если контент хранится.

Как получить доступ к контенту, созданному пользователем на бэкэнде, чтобы я мог отобразить страницу на его основе? Как мне получить переменные?

0

Решение

От http://kb.wpbakery.com/index.php?title=Visual_Composer_tutorial:

Этот список представляет шорткод в качестве базы и список параметров который будет
быть редактируемым с формой настроек внутри конструктора js_composer.

Вы должны добавить fourth_quote приписать шорткоду.
Например:

public function renderMyBartag( $atts, $content = null) {

# Also, avoid using extract()
# http://stackoverflow.com/questions/829407/what-is-so-wrong-with-extract
# http://codex.wordpress.org/Shortcode_API

$a = shortcode_atts( array(
'faa'          => 'something',
'color'        => '#FF0000',
'fourth_quote' => false, // just a default value
), $atts );

$content = wpb_js_remove_wpautop($content, true);

$output = $a['fourth_quote'];

error_log(date('[ d.m.Y H:i:s ] ') . $output . PHP_EOL, 3, "my-errors.log");

return $output;
}
1

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

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