按照http://josephscott.org/archives/2010/03/database-powered-css-in-wordpress-themes/的教程,我正在尝试使用wordpress的parse_request函数添加一些php驱动的CSS ...主要是在我的主题选项面板中设置的样式选项。我知道我的代码与作者的代码有点不同,但我已经按照他的方式尝试了。
我可以添加function kia_wp_head() {
wp_enqueue_style('dynamic', get_bloginfo('stylesheet_directory') . '/admin/ . '?my-custom-content=css');
}
add_action('wp_print_styles', 'kia_wp_head');
//this shows up properly enqueued but when i click on it in source it just brings up a directory listing for the admin folder
function my_custom_wp_request( $wp ) {
if( isset($_GET['my-custom-content']) && $_GET['my-custom-content'] == 'css' ) {
# get theme options
header( 'Content-Type: text/css' ); ?>
body {
background-color: <?php echo 'red'; ?>
}
<?php
exit;
}
}
add_action( 'parse_request', 'my_custom_wp_request' );
但由于背景永远不会变成红色,我要么没有正确实现,要么教程缺少关键步骤。我还尝试了将动态css放在自己的custom-css.php文件中的另一种方法,这是我最终的goale,但我只是想看看我是否可以正确地与解析请求函数进行交互:
function my_custom_wp_request( $wp ) {
if (
isset($_GET['my-custom-content'])
&& $_GET['my-custom-content'] == 'css'
) {
# get theme options
header( 'Content-Type: text/css' );
require dirname( __FILE__ ) . '/custom-css.php';
exit;
}
}
add_action( 'parse_request', 'my_custom_wp_request' );
这里我不确定dirname( FILE )究竟是什么意思,但我也尝试使用硬编码路径,但也没用。
那么如何让parse_request看到我的php驱动样式表呢?
/ *编辑解决方案* /
基本上这不起作用w / wp_enqueue_style
wp_enqueue_style('dynamic',get_bloginfo('stylesheet_directory')。'/ admin /。'?my-custom-content = css');
但是,通过将样式标记直接插入头部
,可以按照josephscott.org所述的方式工作 。 “/管理我的定制内容= CSS“&GT?;答案 0 :(得分:0)
我发现w / wp_enqueue_script无法正常工作。通过手动将脚本标记添加到标题中,它可以像教程中所写的那样工作。