为什么WordPress草案中缺少firstFew行

时间:2018-10-31 19:09:41

标签: html wordpress

我已经在WordPress中编写了html代码。无需保存,我只需单击预览按钮,代码即可正常工作。现在,保存并关闭草稿。现在,当我打开草稿时,为什么会缺少html代码的前5行。

下面是html代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p></p>
<div>

    <ul>
        <li><a
            href="#Menu1"
            target="_blank">Menu 1</a></li>
        <li><a
            href="#Menu2"
            target="_blank">Menu 2</a></li>
</li></ul>
</div>

将其保存为草稿并重新打开页面后,我得到以下代码

&nbsp;
<div>

    <ul>
        <li><a
            href="#Menu1"
            target="_blank">Menu 1</a></li>
        <li><a
            href="#Menu2"
            target="_blank">Menu 2</a></li>
</li></ul>
</div>

以前不是这种情况,它发生在最近的这段代码中。是否缺少主要代码?

1 个答案:

答案 0 :(得分:0)

默认情况下,WordPress编辑器会删除换行符,段落和它认为不重要的其他一些空标签。

您可以通过将以下代码添加到functions.php主题或子主题文件的末尾来避免这种行为:

// stop wp removing div tags
function tinymce_fix( $init )
{
    // html elements being stripped
    $init['extended_valid_elements'] = 'div[*], article[*]';
    // don't remove line breaks
    $init['remove_linebreaks'] = false;
    // convert newline characters to BR
    $init['convert_newlines_to_brs'] = true;
    // don't remove redundant BR
    $init['remove_redundant_brs'] = false;
    // pass back to wordpress
    return $init;
}
add_filter('tiny_mce_before_init', 'tinymce_fix');