php - 将 PHP 添加到 Wordpress 子主题中的 style.css

标签 php css wordpress

我正在努力实现一些相对简单的事情,按照这些思路:

如果用户未登录,将其添加到 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/

相关文章:

html - 同一行上的多个表

php - 如何从作者 ID 获取 WordPress 帖子总数?

php - $ _GET参数未通过php

php - 如何通过 Cron 作业或脚本检查守护程序服务是否正在运行?

CSS条形图溢出,两行而不是一行

php - 准确计算两件元素之间的距离

css - 底部的魔术边距

wordpress - WordPress网站的团队开发

php - codeception : Setting the "doctrine" pre-defined service is deprecated since Symfony 3. 3 并且 Symfony 4.0 将不再支持

php - 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403