如何添加替代样式表作为主题选项?

时间:2012-11-04 作者:speedypancake

我试图在wp admin菜单的“Customize”部分创建一些额外的主题选项。我想提供一个加载替代样式表的选项。

问题:我如何调整以下代码,用用户选择的选项替换样式表名称“posts.css”?

function theme_styles()  
{ 
 // Register the style like this for a theme:  
 // (First the unique name for the style (custom-style) then the src, 
 // then dependencies and ver no. and media type)
 wp_register_style( \'custom-style\', 
get_template_directory_uri() . \'/posts.css\', 
array(), 
\'20120208\', 
\'all\' );

// enqueing:
wp_enqueue_style( \'custom-style\' );
}
add_action(\'wp_enqueue_scripts\', \'theme_styles\');
这是我遇到麻烦的特定代码行-我已经尝试过了,其中“posts”是一个主题选项和“style”。“css”是默认值,但它提供了一个空白页面:

get_template_directory_uri() . \'/<?php echo get_theme_mod( \'posts\', \'style.css\' ); ?>\', 
这就是我在wp菜单中添加备用样式表选项的方式,以备不时之需:

$wp_customize->add_setting( \'posts\', array(
    \'default\'        => \'style.css\',
) );

$wp_customize->add_control( \'posts\', array(
    \'label\'   => \'Post Blocks\',
    \'section\' => \'themedemo_demo_settings\',
\'type\'       => \'select\',
\'choices\'    => array(
    \'style.css\' => \'Default\',
    \'posts.css\' => \'No blocks\',
            ),
) );
谢谢

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

您试图在字符串中执行PHP-您只需要:

get_template_directory_uri() . \'/\' . get_theme_mod( \'posts\', \'style.css\' ),

结束

相关推荐

通过Java脚本for Google Maps API从Custom Post中提取地址

我创建了一个带有自定义帖子的主题,并将其输出到带有位置标记的谷歌地图。用户将创建一个自定义贴子用户,并包括街道地址,这些地址将使用谷歌地图API v3进行地理编码,并在谷歌地图上放置一个标记。我对自定义Wordpress主题的编码和设计相对较新,因此我正在尝试用javascript为Google Maps API从每个自定义帖子中获取信息。有人能解释一下这是怎么做到的吗?谢谢,AME