很简单,我想从<body>
. 我现在正在搜索一段时间,找不到它是在哪里生成的。
我想使用 Ajax 包含脚本(动态驱动器)和 CORS 将内容从一个站点嵌入到另一个站点,所以我需要<body>
用其他东西替换它的 CSS,否则它会与站点的 CSS 混淆,它们会合并在一起。
当我<body>
用<abody>
它替换时,会在上面创建另一个<body>
级别,只有"customize-support"
类。
也许还有另一种解决方案?上面的方法是我唯一能想到的方法。
我花了一段时间试图找到这个,理想情况下通过覆盖钩子或其他东西来解决它,但没有运气。
在 wp-includes/theme.php 文件末尾有一个名为“wp_customize_support_script”的函数,它是在 WP 3.4.0 中引入的。
如果您查看该函数,您会看到内联 Javascript 添加了类名。更具体地说,是 JS 的最后一行,所以:
b[c] += ( window.postMessage && request ? ' ' : ' no-' ) + cs;
如果课程真的让您感到困扰,您可以将其注释掉,但我建议您不要编辑 WP 核心文件。因为它是内联 JS,所以我还没有找到真正改变它的方法(无需编辑核心,ofc)。希望会出现一个更优雅的解决方案,但在那之前,我将只使用 jQuery 来删除类并保存我的理智。
请注意,仅当您登录后端时才会添加此类,并且您的用户可以编辑主题。
编辑 -
如果您删除前端的管理栏,则不会添加该类。例如,在我的functions.php中,我有:
// Removing front end admin bar because it's ugly
add_filter('show_admin_bar', '__return_false');
干杯!
请注意,您是以管理员身份登录的,本课程不提供给网站访问者。如果您仍想删除它,您可以禁用管理栏。
此类由wp-includes/admin-bar.php
(如果用户有权自定义)通过以下操作添加:
add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
此函数添加导致 CSS 类添加到正文的 JavaScript。body_class()
正如其他答案所述,从您的模板中删除没有任何区别。
仅当管理栏可见时才添加该类,但您可以删除 JS,因此使用以下内容删除 css 类:
add_action('admin_bar_menu', function() {
remove_action('wp_before_admin_bar_render', 'wp_customize_support_script');
}, 50);
可能是由于functions.php
它包含要执行的所有运行时函数。
在 functions.php 或类似 page.php 或 single.php 中搜索提到的类
根据我的个人经验,应该有类似的东西
<body <?php some_class(); ?>>
希望能帮助到你。
我知道我在这里有点晚了,但人们可能仍然会遇到这个问题,而且这些解决方案过于复杂。只需进入您的主题并找到 body 标签将其更改为 body class="whatever"
然后在 CSS 中将边距设为 0px。
完毕。您的 CSS 会覆盖另一个。