【发布时间】:2022-01-20 20:43:51
【问题描述】:
我有一个 REPEATER 控件,它有一个用于选择 WordPress 页面的 SELECT 控件。我想确保转发器标签是页面标题。我的脚本返回一个 Javascript 对象而不是页面标题。这是我的代码:
` $page_list = \Core_Elementor_Extensions::core_get_pages();
$page_list_json = json_encode($page_list);
$repeater->add_control(
'posts_pages',
[
'label' => esc_html__('Pages', 'core'),
'type' => Controls_Manager::SELECT,
'options' => $page_list,
'label_block' => true,
'multiple' => false,
]
);
$this->add_control(
'core_page_list',
[
'label' => __('Content', 'core'),
'type' => Controls_Manager::REPEATER,
'fields' => $repeater->get_controls(),
'title_field' => "<# "
. "let labels = #>" . $page_list_json . "<# ; " // Now the labels are available to the javascript
. "let key =#>" . '{{ posts_pages }}' . "<# ;"
. "let label = labels[key]; "
. "#>"
. "{{{ label }}}",
]
);`
{{{ label }}} 返回{"11":"Page Title", "22":"Page Title 2"}88888 8888 实际上是the_field 值中的'{{ posts_pages }}',它试图将tp pass 作为KEY 来访问上面返回的Js 对象。
我不太熟悉 underscorejs 模板。
【问题讨论】:
标签: javascript php underscore.js elementor underscore.js-templating