Wordpress/Bootstrap 模板中的隐藏标记

Posted

技术标签:

【中文标题】Wordpress/Bootstrap 模板中的隐藏标记【英文标题】:Hidden markup in Wordpress/Bootstrap template 【发布时间】:2015-07-12 08:40:03 【问题描述】:

我正在本地开发我的网站,因此无法共享项目的 URL,但希望我在这里详细说明的内容足以解释我的问题。我一直注意到在我的网站中的某些标签上附加了额外的 html 标记,它们正在影响我的布局。下面我举个例子。

我的代码:

<div class="row">
 <div class="col-sm-8 col-sm-offset-2">
  <div class="btn-group btn-group-justified" role="group">
   <button type="button" class="btn-ghost">button</button>
   <button type="button" class="btn-ghost">button</button>
   <button type="button" class="btn-ghost">button</button>
  </div>
 </div>
</div><!--/row-->

渲染代码(我通过 Inspector 看到的):

<div class="row">
 <div class="col-sm-8 col-sm-offset-2">
  <div class="btn-group btn-group-justified" role="group">
   <button type="button" class="btn-ghost">button</button>
   <br>
   <button type="button" class="btn-ghost">button</button>
   <br>
   <button type="button" class="btn-ghost">button</button>
  </div>
 </div>
</div><!--/row-->

我没有有意识地在我的代码中放置换行标记,但不知何故,当我的代码在浏览器中呈现时,它们就在那里结束了。有谁知道这些换行标记的来源?

我的网站运行的是 WordPress v4.2.1,我正在开发的模板是基于 Bootstrap v3.3.4 构建的。我已经使用 Chrome 42.0.2311.135(64 位)和 FirefoxDeveloperEdition v39.0a2(2015-05-01)进行了调试。我正在运行 OS X Yosemite 10.10.3 并将 MAMP 3.2.1 用于 Apache 和 mysql

如果您需要任何其他信息,例如我的 WordPress 页面或我的 php 模板,请告诉我。

提前感谢您的帮助,

【问题讨论】:

可能是wordpress中的一些javscript正在这样做...检查你的js文件.. 我已经浏览了 js —— 没有任何东西对我产生影响。我没有对原始的 WordPress 或 Bootstrap js 文件进行任何修改。 您发布的标记是否已插入 WordPress 页面编辑器?还是来自模板文件? 是的,通过 WordPress 页面编辑器插入。 【参考方案1】:

作为我的客人,这是受 wpautop 过滤功能影响的。您的代码可能在短代码回调中或在帖子的内容中。我有两种方法可以解决这个问题:

第一种方式:PHP代码

remove_filter ('the_content', 'wpautop');
add_filter ('the_content', 'wpautop', 9);

第二种方式:CSS代码

.unwantedbr br  
   display: none

更新:

我看到您在 wp 编辑器中使用该代码。对于这种情况,每次您在 wp 编辑器上按 shift + enter 时,wordpress 都会自动将&lt;br/&gt; 标签添加到页面内容中。

您可以在主题的 page.php 模板文件的开头尝试此代码:

remove_filter('the_content', 'wpautop');

它会删除不需要的 br 标签,但它也打破了 wordpress 对博客文章的默认设置。尝试改用短代码或 css strick。

【讨论】:

不幸的是,我认为这不是问题所在。根据我在 WP Codex 中阅读的内容,wpautop 将“文本中的双换行符更改为 HTML 段落”。我没有在我的代码中放置任何双换行符。这些段落和换行标记似乎出现在常见的 HTML 属性之后。在我的代码示例中,在按钮标记后添加了换行符。 请按我所说的 shift + enter 和 wordpress 将该字符转换为 。请也许在那个位置有一个 shift + enter char 。您只需要尝试在该位置再次手动删除和添加。希望它会工作! 好的,remove_filter('the_content', 'wpautop');修复了我网站至少一部分的换行问题,但段落标签问题仍然存在。我可以禁用任何其他功能吗? 我希望我能看到你的代码,但要解决这个问题,你可以使用 css 解决方案。

以上是关于Wordpress/Bootstrap 模板中的隐藏标记的主要内容,如果未能解决你的问题,请参考以下文章

从非常量到常量模板参数的隐式转换在 boost::optional 中不起作用

未定义模板 'std::__1::function<int (double, double, double, double)>' 的隐式实例化

markdown Wordpress Bootstrap 3 Navwalker

未定义模板的隐式实例化“std::__1::basic_istringstream<char, std::__1::char_traits<char>, std::__1::allo

使 WordPress Bootstrap 菜单顶部链接不是链接

php Wordpress + Bootstrap 3:每两个帖子都在自己的行中。