我正在做一个style.php CSS文件,所以我可以在Wordpress安装中的CSS中使用一些动态变量:
<?php header("Content-type: text/css"); ?>
等等。
如何从style.php文件中访问全局变量或将变量传递给它?
我试图在CSS中工作的代码就像
$maincolor = $cap->br_main_color;
此外:
答案 0 :(得分:4)
这是一个将php嵌入Wordpress .css样式表(我不确定的有用性)的替代解决方案,它不需要操纵Wordpress核心。
只需在主题目录中创建包含常用代码的php嵌入式css文件:
/* define document as css*/
<?php header("Content-type: text/css"); ?>
/* Example php variable declaration and function call */
<?php $body_color = get_color(); ?>
/* Begin php embedded css code below here */
body {
background: none;
color: <?php echo $body_color ?>;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 10pt
}
然后将此动态文件导入主题style.css,这样您就不必修改Wordpress核心。
/*
Theme Name: Mytheme
Version: 1.0
Description: This theme has php embedded css
Author: You
*/
@import url(embedded_style.php);
/* Normal CSS below as required */
此代码段的起源是尝试在从父主题导入css到我的孩子时允许不同的目录名称。我不喜欢修改核心wordpress文件的想法,但是因为大多数函数/钩子都没有在style.css运行时定义来中断调用,所以必须找到替代方法。 最后我没有使用它,原因与我无法中断文件调用相同(使用wordpress方便常量等等太早),但希望它对其他人有用。
答案 1 :(得分:3)
要访问wordpress函数,您需要在style.php文件的顶部包含以下行。
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
第一行告诉wordpress不要运行与主题相关的进程,第二行运行wordpress引擎。在此之后,您可以访问wordpress函数和全局变量。