【问题标题】:Wordpress mysterious elements (<p>, <a>) shows up on live siteWordpress 神秘元素(<p>、<a>)出现在现场
【发布时间】:2017-11-26 22:01:17
【问题描述】:

第一次在 Wordpress 上开发一个网站,然后在我的主页上胡思乱想以使其看起来更好。我在尝试用a 包装我的div 以使整个框可点击/链接时遇到问题。

在页面编辑代码如下:

<a href="random_link1">
  <div>
    <img src="random_image1"/><br>
    random text 1
  </div>
</a>
<a href="random_link2">
  <div>
    <img src="random_image2"/><br>
    random text 2
  </div>
</a>

像这样的一行中有多个应该并排的div(使用css display: inline-block)

但是实时站点将这些 div 垂直堆叠。在使用开发人员工具 (chrome) 进行检查后,我发现代码可以在 div 中间使用完全相同的 a 出现额外的 p 元素:

<a href="random_link1">
  <div>
    <img src="random_image1"/><br>
    random text 1
  </div>
</a>
<p>
  <a href="random_link1"></a>
  <a href="random_link2"></a>
</p>
<a href="random_link2">
  <div>
    <img src="random_image2"/><br>
    random text 2
  </div>
</a>

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: html css wordpress


    【解决方案1】:

    Wordpress 会自动对您的内容运行过滤器,称为 wpautop。它用于将编辑器的回车转换为 html 间距。您可以使用functions.php 全局删除它

    remove_filter( 'the_content', 'wpautop' );
    

    ...或者寻找一个插件,使您能够更细粒度地控制哪些是自动编辑的,哪些不是。

    此外,您可以选择隐藏空的&lt;p&gt; 标签:

    p:empty {
      display: none;
    }
    

    相同的过滤器 (wpautop) 将您的链接包装到 &lt;p&gt; 元素中。解决方案是:

    • 将您的&lt;a&gt; 标签包装到&lt;div&gt; 标签中,或者...
    • content 上运行您自己的过滤器,撤消wpautopwpautop 之后所做的操作。见this question

    【讨论】:

    • 我很想知道投反对票的原因,以便从错误中吸取教训。谢谢。
    • 您好安德烈,感谢您的回复和良好的指导!我选择安装“toggle wpautop”插件,因为问题是特定于我的主页的。另一方面,我想我将来会使用functions.php,因为它似乎与你希望在 Web 开发时所希望的那种控制混在一起。所以,总结一下,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 2020-06-20
    • 2012-06-18
    • 2014-01-14
    相关资源
    最近更新 更多