我正在努力实现一些相对简单的事情,按照这些思路:
如果用户未登录,将其添加到 style.css:
div.em-booking {
display: none;
}
如果用户已登录: 不要修改 style.css
所以我怀疑沿着这条线的一些 CSS+PHP 可以解决问题:
div.em-booking {
<?php
if (!is_user_logged_in() )
echo 'display: none';
?>
}
我找到了这个:Accessing global variable in "CSS" (style.php) 这看起来非常有用——只需将附加的 embedded_style.php 文件 @import 到 style.css 文件中。但这似乎行不通。我看到那篇文章已经很老了(2011 年),也许 Wordpress 已经发生了足够大的变化,以至于这将不再有效。
我已经阅读了很多更改 .htaccess 文件以强制网站读取 PHP 文件而不是 CSS 文件的方法,但是这种技术是否适用于具有两个 style.css 文件的 Wordpress 主题 + 子主题网站(父主题+子主题)?
碰巧的是,我的 Wordpress 网站的父主题(我怀疑)已被其开发人员放弃,因此不太可能对其进行更新,因此我想我可以修改父主题的 style.css 使其成为样式.php 并直接在其中添加我的修改。但我更愿意单独留下父 style.css 文件。
任何想法/建议都将非常受欢迎!如果之前在 Stackoverflow 的某个地方回答过这个问题,我深表歉意,但是在将 PHP 添加到 CSS 时,我找不到任何特定于 Wordpress 的内容;大多数建议都涉及修改静态站点的 HTML,由于许多文件访问 style.css,这(我假设)不适用于 Wordpress。
提前致谢
保罗
最佳答案
将任何 PHP 代码插入 CSS 是不可能的。你必须反过来做:
if (!user_is_logged_in()) {
echo '<div style="display: none"></div>';
} else {
echo '<div></div>';
}
但这并不安全,因为任何人在查看 HTML 源代码时都会看到它。改为这样做:
if (user_is_logged_in()) {
echo '<div>you are logged in</div>';
} else {
//show nothing or a message that someone is not logged
}
关于php - 将 PHP 添加到 Wordpress 子主题中的 style.css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28221063/