来自主题定制器的首页自定义可编辑内容

时间:2015-10-14 作者:Humaira Naz

我用下划线设计了一个非常基本的主题。我正在从主题定制器中查找自定义的可编辑内容或可更改的页面front-page.php.

例如,当用户转到Customizer时,他们会看到为特色内容选择页面的选项(“WordPress”中的预生成页面)和附带的“阅读更多”按钮,用户可以为每个特色区域选择图像。

for example:

1 个回复
SO网友:cjbj

使用主题定制器来完全构建首页是一个有趣的想法。下面是我将如何开始它。

首先,让我们构建一个只显示在首页的部分:

add_action( \'customize_register\', \'wpse_205445_customizer\' );
function wpse_205445_customizer($wp_customize) {
     $wp_customize->add_section( \'custom-front-page\', array(                                             
           \'title\'           => "Custom Front Page",
           \'priority\'        => 10,
           \'active_callback\' => \'is_front_page\'
     ));
}
其次,让我们做一些设置。这里只举一个例子,一个下拉列表来选择主页设置。小心点transport 必须是refresh, 因为我们还需要一个完整的页面加载。

$wp_customize->add_setting(\'main-page-setup\', array(
    \'default\'                   =>  \'\',
    \'type\'                      =>  \'theme_mod\',
    \'capability\'                =>  \'edit_theme_options\',
    \'theme_supports\'            =>  \'\',
    \'transport\'                 =>  \'refresh\',
    \'sanitize_callback\'         =>  \'sanitize_text_field\'
    ));
第三,设置必须具有控件:

$control_args = array(
    \'label\'                     =>  \'My Main Page Setup\',
    \'section\'                   =>  \'custom-front-page\',
    \'settings\'                  =>  \'main-page-setup\',
    \'priority\'                  =>  20,
    \'type\'                      =>  \'select\',
    \'choices\'                   =>  array(\'one-column\', \'twocolumns\', \'threecolumns\'),
    );
$wp_customize->add_control( new WP_Customize_Control ($wp_customize, \'main-page-setup\', $control_args));
现在,我们在customizer中有一个下拉选择,仅显示在frontpage上,它提供了三个选项。现在,让我们转到front-page.php. 这里我们需要称之为mod:

$main-page-setup = get_theme_mod(\'main-page-setup\');
switch ($main-page-setup) {
    case \'one-column\'    : get_template_part (\'front-page-one-column\');
    case \'two-columns\'   : get_template_part (\'front-page-two-columns\');
    case \'three-column \' : get_template_part (\'front-page-three-columns\');
    default              : get_template_part (\'front-page-default\');
    }
因此,有一种方法可以使用定制器完成对首页布局的更改。当然,您也可以在图像之间或不同的post查询之间切换以更改内容,而不是加载模板部分。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register