不要在页面加载时从Wordpress中删除空的p(<p> </p>)标记

时间:2018-02-04 15:59:06

标签: wordpress

在我的基本Wordpress编辑器中,我有一篇包含这样的html代码的文章:

<h4><b>Hello!</h4>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>my text</p>

当加载该文章页面时,我总是只看到这个:

<h4><b>Hello!</h4>
<p>my text</p>

如何强制WordPress停止删除空的p代码?

我尝试了两种方法,但都没有工作:

1.我试图将这些行添加到我的主题的'functions.php'中:

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

2.我试图在'wp-includes / default-filters.php'中为所有add_filter( 'the_excerpt', 'wpautop' );添加斜杠。

这些都没有帮助。任何想法如何解决我的问题?

3 个答案:

答案 0 :(得分:0)

这是由于您的主题处理空段落的方式。如果额外的段落用于间距,最好的办法是在最后一段中添加一个css id或类,并用margin或padding添加适当的间距。

我不会添加空段落,所以我从来没有遇到过这个问题,但是我看到一些主题会自动删除<p></p>如果段落没有类或者ID。您可以尝试以下方法强制WordPress按原样保留段落:

<h4><b>Hello!</h4>
<p class="blank">&nbsp;</p>
<p class="blank">&nbsp;</p>
<p class="texthere">my text</p>

此外,<b>最终必须关闭......

答案 1 :(得分:0)

有几个选项可以不丢失<p>&nbsp;</p>

  1. 仅使用文字编辑器:每次从Text编辑器切换到Visual时,您都会失去更改。

  2. 使用过滤器:

    function prevent_deleting_pTags($init){
        $init['wpautop'] = false;
    
        return $init;
    }
    
    add_filter('tiny_mce_before_init', 'prevent_deleting_pTags');
    

    代码转到您的活动主题的functions.php文件。

  3. 在您的id/class/data-代码中添加p

    <p class="my_class">&nbsp;</p>
    <p id="my_id">&nbsp;</p>
    <p data-save="my_save">&nbsp;</p>
    

答案 2 :(得分:0)

我使用“TinyMCE Advanced”插件(https://wordpress.org/plugins/tinymce-advanced/)来阻止编辑器中“{1}}标签的”自动处理“。

这样我就会在“文本模式”标签中看到以“可视模式”自动创建的var restify = require('restify'); var builder = require('botbuilder'); var request = require('request-promise'); // Setup Restify Server var server = restify.createServer(); server.listen(process.env.port || process.env.PORT || 3978, function () { console.log('%s listening to %s', server.name, server.url); }); // Create chat connector for communicating with the Bot Framework Service var connector = new builder.ChatConnector({ appId: process.env.MicrosoftAppId, appPassword: process.env.MicrosoftAppPassword }); // Listen for messages from users server.post('/api/messages', connector.listen()); // Receive messages from the user and respond by echoing each message back (prefixed with 'You said:') var bot = new builder.UniversalBot(connector, function (session) { var text = await MyRequest() session.send("%s", text); }); async function MyRequest() { var options = { uri: "https://jsonplaceholder.typicode.com/posts/1", method: "GET", json: true } try { var result = await request(options); return result; } catch (err) { console.error(err); } } 标签,并且可以在两种模式之间来回切换而不会丢失任何<p>标签,包括那些只包含<p>实体并因此创建空行的那些。