I have:我当前正在使用$wp_customize
向自定义主题区域添加选项。
My Goal:我的目标是$wp_customize
这样我就可以将可用页面列表显示为复选框。我一直在使用Otto\'s tutorial, 但它只覆盖文本区域。我知道有一个下拉页面控件类型,但我希望能够将页面显示为复选框列表,而不是选择元素。到目前为止,我已经做到了以下几点:
add_action( \'customize_register\', \'my_theme_customize_register\' );
function my_theme_customize_register($wp_customize) {
// CREATE A CLASS FOR DISPLAYING PAGES AS OPTIONS
class Customize_Pages_Control extends WP_Customize_Control {
public $type = \'pages\';
public function render_content() {
$pages = get_pages(); ?>
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span> <?php
foreach ($pages as $page) { ?>
<label>
<input type="checkbox" value="<?php $page->ID ?>" data-customize-setting-link="<?php $page->ID ?>">
<?php echo $page->post_title; ?>
</label> <?php
}
}
}
// ADD SECTION
$wp_customize->add_section( \'home_page\', array(
\'title\' => __( \'Home Page\' ),
\'priority\' => 37,
) );
// ADD SETTING & CONTROL
$wp_customize->add_setting( \'slideshow_pages\' , array(
\'capability\' => \'edit_theme_options\',
) );
$wp_customize->add_control( new Customize_Pages_Control ( $wp_customize, \'slideshow_pages\', array(
\'label\' => __( \'Add pages to slideshow\' ),
\'section\' => \'home_page\',
\'settings\' => \'slideshow_pages\',
\'type\' => \'pages\',
) ) );
}
这成功地在选项菜单中添加了控件并列出了页面,但我不知道在用户勾选框后如何实际保存更改。同样,我当前无法使用已保存的任何数据(即,我无法检查主题本身中已选择的页面)非常感谢您的帮助或指点