javascript - 通过functions.php中的javascript将自定义CSS添加到wordpress中的第三方插件
问题描述
我正在尝试通过 CSS 为已登录和未登录的用户隐藏/显示按钮。我可以通过 Javascript DOM 属性为主题中的按钮执行此操作。但是这里的按钮是第三方插件的,我试图以与主题按钮相同的方式实现它,但我无法做到。这是我的代码
add_action('wp_head', 'stylebutton', 1, 1);
function stylebutton() {
if (!is_user_logged_in()) {
?>
<script type="text/javascript">
window.addEventListener('load', function() {
var div = document.getElementsByClassName("bw-widget__cta");
div[0].style.display = "none";
});
</script>
<?php
}
}
?>
解决方案
使用 CSS 隐藏元素的工作方式如下:
add_action('wp_head', 'stylebutton');
function stylebutton() {
if (!is_user_logged_in()) {
?>
<style type="text/css">
.bw-widget__cta {
display: none !important;
}
</style>
<?php
}
}
?>
不过要小心。由于我不知道第三方插件的 CSS 是什么样的,我添加了一个!important
强制覆盖它。如果这无论如何都不起作用,您可能必须使用浏览器的开发人员工具来检查按钮元素并查看哪个 CSS 规则具有优先权。
推荐阅读
- jquery - 无表单提交数据到数据库
- gis - 为 MapBox GL 转换“世界文件”GIS?
- vba - VBA 从选定行复制数据,然后将其粘贴到不同工作表的特定列上
- c# - 由于 IOException 导致程序崩溃
- php - AWS Transcribe PHP API 3.0 - 无法初始化 API
- c# - 如何在 MVVM 中设置数据网格滚动条位置
- python - 从 Windows 路径变量执行 Python 脚本
- sql - 数据类型为 nvarchar 时如何对 SQL 添加约束?
- kubernetes - 使用命令 'kubectl replace -f [yaml file]' 时,旧 ReplicaSet 和旧 pod 仍然存在于新 ReplicaSet 和新 pod 中
- php - 是否可以对同一域名内的不同子目录使用相同的 cron 作业