使用WordPress'主题定制器,用于选择更新预览中布局的页面模板

时间:2016-04-28 19:13:12

标签: php wordpress wordpress-theming

我不确定在哪里发布这个问题..

我最近发现了WordPress' "主题定制器"并使用它来使页面更容易为客户更新。而不是编辑每个单独页面的标准方式,单击更新,然后访问页面以查看更改,我喜欢主题自定义程序如何在右侧自动预览您的更改。

我试图了解在我全力以赴之前我可以使用主题定制器走多远...

我创建了一个"主页"设置/部分/控制如下图所示:

enter image description here

以下是此代码:

function prowordpress_customize_register( $wp_customize ) {

    // Settings, Sections, and Controls are defined here

    // HOME PAGE

    $wp_customize->add_setting( 'home_page_text' , array(
        'default'           => 'This is the home page text',
        'type'              => 'option',
        'transport'         => 'refresh',
    ));
    $wp_customize->add_section( 'prowordpress_content_customizations' , array(
        'title'       => __('Home Page', 'prowordpress'),
        'description' => __('Modify the Home Page', 'prowordpress'),
        'priority'    => 30,
    ));
    $wp_customize->add_control( 'home_page_text_control', array(
        'label'      => __( 'Home Page Text', 'prowordpress' ),
        'section'    => 'prowordpress_content_customizations',
        'settings'   => 'home_page_text',
        'type'       => 'textarea',
    ));


    $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'        => array(
                    'template_one'   => __( 'Template Layout 1' ),
                    'template_two'  => __( 'Template Layout 2' )
                )
            )
        )
    );

}

add_action( 'customize_register', 'prowordpress_customize_register' );

您可以在屏幕截图中看到我已经为"主页模板添加了一个选择菜单" ...

我是否可以将其设置在客户可以选择现有的"页面模板的位置?#34;从这个选择菜单然后让右侧的页面预览/布局自动继承页面模板设置并实时调整布局?

同样,我只是想了解这是否可行,以及是否有人曾尝试过类似的事情。我意识到这可能需要一些AJAX或类似的东西。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,你可以。我已经在自己的主题中完成了这种类型的布局选择。

在你的php文件中你需要做这样的事情 -

<?php if ( get_option( 'home_page_template_select' ) === 'template_one' ) {  

 get_template_part( 'layouts/template-one' ); ?> 

我希望有所帮助。