个性化阅读
专注于IT技术分析

WordPress检索定制器设置

我目前正在利用定制程序的功能来为Wordpress创建第一个深入的定制模板。

我能够创建选项并保存它们, 但是以某种方式我无法将它们推到页面本身。我正在使用的代码:

//Do we want our template to be boxed or wide?
function cbTheme_customize_register($wp_customize){
    //  =============================
    //  = Add section               =
    //  =============================
    $wp_customize->add_section('cbTheme_general_settings', array(
        'title'    => __('General Settings', 'cbTheme'), 'description' => 'Determines wether your site is boxed, or has 100% width', 'priority' => 10, ));
    //  =============================
    //  = Add setting               =
    //  =============================
    $wp_customize->add_setting('cbTheme_site_settings[sitewidth]', array(
        'default'        => 'value1', 'capability'     => 'edit_theme_options', 'type'           => 'option', ));
    $wp_customize->add_control('cbTheme_site_width', array(
        'label'      => __('Site width', 'cbTheme'), 'section'    => 'cbTheme_general_settings', 'settings'   => 'cbTheme_site_settings[sitewidth]', 'type'       => 'radio', 'choices'    => array(
                'value1' => 'Wide', 'value2' => 'Boxed', ), ));
}
add_action( 'customize_register', 'cbTheme_customize_register' );

我在header.php(第一行)中使用它来尝试检索选项(因为它们确实保存了)。

//GET ALL SETTINGS FROM CUSTOMIZER
function cbTheme_customize_css($wp_customize){
    $sitewidth = get_theme_mod('cbTheme_site_settings[sitewidth]');
}
add_action( 'wp_head', 'cbTheme_customize_css');

有什么建议/反馈吗?我认为错误的代码是最后一部分。我尝试遵循法典, 但在数据检索过程中迷路了。


#1


好的, 我一直在一直寻找答案, 并且现在找到了解决方法。如果其他人有更好的答案, 请向我/其他用户提供。我使用的解决方法将在代码的第二部分中应用, 你可以在其中检索主题选项。

要解决此问题, 请替换此

$sitewidth = get_theme_mod('cbTheme_site_settings[sitewidth]');

有了这个

extract(get_option('cbTheme_site_settings'));

这将直接从options-table中为你提供以array-key作为变量名的变量。

赞(0)
未经允许不得转载:srcmini » WordPress检索定制器设置

评论 抢沙发

评论前必须登录!