我正在使用WordPress的主题定制器,我想为用户添加一个选项来选择使用的页面模板。
下面是获取页面模板的代码。这是需要修复的部分。我借用了第一段代码,它可以获得一个类别的slug。现在,我需要修改它以加载页面模板作为菜单选项。
function get_page_templates_select() {
$teh_cats = get_page_templates();
$results;
$count = count($teh_cats);
for ($i=0; $i < $count; $i++) {
if (isset($teh_cats[$i]))
$results[$teh_cats[$i]->slug] = $teh_cats[$i]->name;
else
$count++;
}
return $results;
}
在这里,我将控件添加到主题定制器:
$wp_customize->add_setting( \'home_page_template_select\' , array(
\'default\' => \'test\',
\'type\' => \'option\',
\'transport\' => \'refresh\',
));
$wp_customize->add_control(
new WP_Customize_Control(
$wp_customize,
\'home_page_template_select\',
array(
\'label\' => __( \'Home page template:\', \'blankwptheme\' ),
\'section\' => \'prowordpress_content_customizations\',
\'settings\' => \'home_page_template_select\',
\'type\' => \'select\',
\'choices\' => get_page_templates_select(),
)
)
);
当我运行此代码时,主题定制器超时。如何修改get\\u page\\u templates\\u select函数以正确加载到控件(选择菜单)中?
编辑:
以下是我正在使用的新功能:
function get_page_templates_select() {
$teh_cats = get_page_templates();
foreach ( $teh_cats as $template_name => $template_filename ) {
$results[] = $template_name;
}
return $results;
}