7

很简单,我想从<body>. 我现在正在搜索一段时间,找不到它是在哪里生成的。

我想使用 Ajax 包含脚本(动态驱动器)和 CORS 将内容从一个站点嵌入到另一个站点,所以我需要<body>用其他东西替换它的 CSS,否则它会与站点的 CSS 混淆,它们会合并在一起。

当我<body><abody>它替换时,会在上面创建另一个<body>级别,只有"customize-support"类。

也许还有另一种解决方案?上面的方法是我唯一能想到的方法。

4

5 回答 5

8

我花了一段时间试图找到这个,理想情况下通过覆盖钩子或其他东西来解决它,但没有运气。

在 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');

干杯!

于 2013-04-02T18:28:27.120 回答
1

请注意,您是以管理员身份登录的,本课程不提供给网站访问者。如果您仍想删除它,您可以禁用管理栏。

于 2013-07-06T14:48:36.583 回答
1

此类由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);
于 2020-01-22T10:20:37.180 回答
-1

可能是由于functions.php

它包含要执行的所有运行时函数。

在 functions.php 或类似 page.php 或 single.php 中搜索提到的类

根据我的个人经验,应该有类似的东西

<body <?php some_class(); ?>>

希望能帮助到你。

于 2013-03-23T18:06:15.673 回答
-2

我知道我在这里有点晚了,但人们可能仍然会遇到这个问题,而且这些解决方案过于复杂。只需进入您的主题并找到 body 标签将其更改为 body class="whatever"

然后在 CSS 中将边距设为 0px。

完毕。您的 CSS 会覆盖另一个。

于 2015-11-03T17:32:29.310 回答