禁用WordPress添加<p>标签</p>

时间:2012-06-28 16:07:41

标签: wordpress

我所拥有的只是以下一小段代码:

<select size="1" name="EventHour<?php echo $i; ?>"> 
    <option>1</option> 
    <option>2</option> 
    <option>3</option> 
    <option>4</option> 
    <option>5</option> 
    <option>6</option> 
    <option>7</option> 
    <option>8</option> 
    <option>9</option> 
    <option>10</option> 
    <option>11</option> 
    <option>12</option> 
  </select> 
  : <!-- note this character -->
  <select size="1" name="EventMinute<?php echo $i; ?>"> 
    <option>00</option> 
    <option>05</option> 
    <option>10</option> 
    <option>15</option> 
    <option>20</option> 
    <option>25</option> 
    <option>30</option> 
    <option>35</option> 
    <option>40</option> 
    <option>45</option> 
    <option>50</option> 
    <option>55</option> 
  </select> 

应输出正常。但是,WordPress在我的select-elements和“:”字符周围添加了一个p-tag。这使得它们最终都在不同的行上。

我已经在此页面上安装并激活了WordPress插件“禁用Visual Editor WYSIWYG”,但没有成功。我还能做些什么来阻止这种情况发生?提前谢谢!

10 个答案:

答案 0 :(得分:65)

使用此:

remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );

functions.php

以下是完整的答案:http://codex.wordpress.org/Function_Reference/wpautop#Disabling_the_filter

答案 1 :(得分:10)

Wordpress会在编辑器和输出中修改和清除您输入的HTML。

使用此插件将未经修改的标记添加到您的帖子中:

https://wordpress.org/extend/plugins/raw-html/

答案 2 :(得分:3)

在你的functions.php中试试这个

<?php remove_filter ('the_content', 'wpautop'); ?>

答案 3 :(得分:2)

您可以缩小代码。如果一切都在一行上,Wordpress将不会破坏代码。

当我想在某些帖子中添加<style><script>标记时,我会这样做。

答案 4 :(得分:0)

对于我来说,我是在页面上手动完成的:

显示额外的p标签的结果:

 <p><?php if($description){ echo $description; } ?></p> 
 <p><?php if($description){ echo wpautop($description); } ?></p> 

删除多余的p标签的结果:

 <?php if($description){ echo wpautop($description); } ?>  
  

请注意,我删除了p周围的echo标签,然后将wpautop添加到echo

最终结果:

<p>description content</p> 

答案 5 :(得分:0)

如果帖子是自定义帖子类型,则可以使用add_meta_box添加元框,然后可以使用wp_editor初始化自己的编辑器,该编辑器可以自定义。例如,您可以将设置传递给诸如“ force_p_newslines”和“ forced_root_block”之类的tinymce。

答案 6 :(得分:0)

至少在contact-form-7上,我使用html-minifier成功地防止了那些令人讨厌的p标签。来到这里是因为我用Google搜索其他人是否也像我一样感到沮丧。

如果在代码minifire之后仍然遇到问题,则只需将标签转换为div标签即可,其中p标签会自动添加。

答案 7 :(得分:0)

如果其他人遇到此问题,并且不能或不想安装另一个插件,或者再次不能或不想编辑他们的functions.php文件,也可以这样做!

我的原始代码:

your original code

that worked wonderfully..

and then wordpress happened

我的解决方法代码:

your original code
//
that worked wonderfully..
//
and then wordpress happened

只要确保代码中没有空行,这至少对我来说似乎是一种解决方法。我想知道:是否不足以诱骗它不要添加p标签,但是我在用javascript编码并且对我有用。

答案 8 :(得分:0)

另一个解决方法: 将您的选择放置在<div>标记内,它们之间没有任何空格字符。因此,而不是:

<select ...>
</select>

<select ...>
</select>
 

您这样写:

<div><select ...>
</select></div>

<div><select ...>
</select></div>

我在使用<a>元素时遇到了同样的问题,这为我解决了。

答案 9 :(得分:0)

<!-- wp:html -->

You can insert your code between these tags.

<!-- /wp:html -->

在 5.6.2 WordPress 上测试