gpt4 book ai didi

php - 在 WordPress 中使用 PHP 更改 CSS 样式

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:08 26 4
gpt4 key购买 nike

我对 PHP 和 WordPress 有点陌生,我正在尝试根据用户所在的页面设计菜单插件(他们的支持很忙)。

如果它不在首页上,我想要的是改变背景和其他样式。

我已经在检查元素中测试了 CSS,所以选择器是正确的,但我真的不知道如何以干净有效的方式实现它。

困惑的方法是创建另外两个菜单(因为 top_navigation 和 main_menu 是分开的,所以总共 4 个)在他们的插件设置中设置样式,并在不在首页时使用 php 将首页上的两个菜单替换为另外两个菜单。因此,如果我需要更改菜单项,我必须更改两到四次,这对我来说是愚蠢的。


到目前为止,我已经想出创建样式表的 PHP 变体并重写 URL 以从 .css 重定向到 .php,但是我并没有真正掌握如何从根本上做到这一点directory's .htaccess 因为两个样式表的位置离它很远。

样式表的位置:/wp-content/plugins/hmenu/_frontend_files/_menu_5/_css
样式表名称:hero_menu_styles.csshero_menu_styles.php
PHP 样式表:

<?php 
header('Content-type: text/css; charset: UTF-8');
?>

/* Normal CSS Here */

<?php
if(!is_front_page())
{
echo "#hmenu_load_5 .hmenu_main_holder {background-color: #67b7e1;}"
}
?>

.htaccess:
我几乎 100% 肯定这有问题。
我不知道是什么。

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase "/wp-content/plugins/hmenu/_frontend_files/_menu_5/_css/"
RewriteRule ^hero\_menu\_styles\.css$ hero\_menu\_styles\.php [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

所以我有一堆问题。

  1. >假设 echo 在 stylesheet.php 而不是 stylesheet.css 中,它是否按照我目前正在编写的方式工作?
  2. >如果我要在我的所有页面上引用一个额外的 stylesheet.php 并将它放在那里而不是重写我的 URL 怎么办?有没有办法确保它会覆盖其他样式表?
  3. >我可以有多个 .htaccess 文件吗
    (例如在/wp-content/plugins/hmenu/_frontend_files/_menu_5/_css 中)
    这样我就不必为长时间的 RewriteBase 头痛而烦恼了?
  4. >我是否正确,因为我不能将此代码+css 粘贴到我的 WordPress 主题的 header.php 或 functions.php 中?
  5. >我需要 require('/wp-load.php');或者如果我想使用 is_front_page(),在我的 .php 样式表上加载一些 WordPress 函数(不知道除了 wp-load 之外还有什么)?

最佳答案

如果您需要仅根据您是否在主页上来设置菜单样式。然后,您可以根据需要更改的内容简单地使用 CSS 选择器。

目标首页菜单样式:

body.home .menu-class {背景:#333;}

页面上的目标菜单:

body.page .menu-class {background: #FFF;}

您可以在此处找到更多场景及其类:https://codex.wordpress.org/Function_Reference/body_class

关于php - 在 WordPress 中使用 PHP 更改 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com