我有一个Wordpress CMS网站,其中大多数标签都需要是白色的。因此,主题包括每个表单标签的以下样式。
.login label {
color: #fff;
font-size: 14px;
}
上面的样式是从/wp-login.php 文件中填充的——样式本身位于 login.min.css 中(直接包含在 wp-login.php 中)
我只需要为忘记密码屏幕覆盖它。
幸运的是,在这种情况下,我需要是黑色的两个标签都有自定义 ID 选择器。 #pass1 #pass2
我的问题是,我无法访问/wp-login.php
和login.min.css
- 我尝试添加!important
并在header.php
中声明这两个选择器,但它们没有被读取。
我需要以某种方式添加; 在当前权限的情况下。
#pass1 { color: #000 !important; }
#pass2 { color: #000 !important; }
我可以使用 header.php
或 footer.php
的 jQuery 来附加样式吗?会被读吗?
任何wp核心文件不是最佳做法,所以我建议无论如何都不要碰wp-login.php因为更新WordPress可以重置事情。
相反,请将其添加到您的函数中.php:
// Custom login
function custom_login() {
$files = '<link rel="stylesheet" href="'.get_bloginfo('template_directory').'/css/login.css" />';
echo $files;
}
add_action('login_head', 'custom_login');
由于登录和忘记密码屏幕不依赖于主题,因此不会读取您的header.php
文件,因此您在其中输入的任何样式都不会影响这些页面。
将此添加到您的template.php
文件
function my_login_stylesheet() {
wp_enqueue_style( 'custom-login', get_template_directory_uri() . '/style-login.css' );
}
add_action( 'login_enqueue_scripts', 'my_login_stylesheet' );
,然后将自定义样式添加到style-login.css
login_head
和login_enqueue_scripts
是接一个的,所以你使用哪一个并不重要......
使用wp_enqueue_style
是最佳做法,但可以毫无问题地echo '<link rel="stylesheet" ...>';
。
我正在添加一个解决方案,因为这不是您只是拖放到主题functions.php
上的那种代码。即使我们交换主题,我们也希望保持代码运行。所以一个功能插件派上用场了:
<?php
/*
Plugin Name: Login CSS
*/
function custom_login() {
$CSS = <<<CSS
<style>
.login label {}
</style>
CSS;
echo $CSS;
}
add_action('login_head', 'custom_login');
检查以下内容以了解用于构建$CSS
字符串的 Heredoc sintax:在 PHP 中使用 Heredoc 有什么好处?