2016-05-10 7 views
0

を削除することができませんか?これは何ですか? この問題について多くの記事を読んでいますが、私は1つしか理解できません:すべてのルールをどこに挿入する必要がありますか?例えば、CKEditorバージョンは、私が持っている、このようなHTMLを<p> </p>

config.allowedContent = true; 
config.extraAllowedContent = 'main'; 

またはそうでなければ?それで、私はに挿入したので、ckeditor.config.js私は変更が見られません。それは自分のhtmlに挿入し続ける

<p>&nbsp</p> 

誰か助けてもらえますか?私はとても感謝しています。

+1

あなたはどのバージョン(ワードプレスとワードプレス自体のCKEditorバージョン)を使用していますか? 私はあなたのコードをWordPress 4.5.2とCKEditor for WordPress 4.5.3.3でチェックしましたが、Visual/HTMLへの切り替え後には追加の「

&nbsp

」はなく、CKEditor内のSourceも表示されません。 – Vokiel

+0

私はあなたが書いたのと同じバージョンを持っています。私はあなたがタグ "メイン"について言ったことに気付かないと思います。他のタグはすべて正常に書き込みます。あなたの例でそれを確認することができます。何も持っていない場合は、私にあなたのアクセスを取る。あなたができるなら、確かに。 –

+1

追加のプラグインがインストールされていますか?または他の設定変更? 私は、内のコンテンツをチェックする代わりに、 'のきた< - somecontnet - !>'コメント、のような: '' '<メインクラス= "工ass"> \t

\t \t多分に問題があります一部のコンテンツ \t

\t '' '
\t \t

\t \t \t Another paragraph \t \t

\t
そして、それがうまく働いていた - 何の'

 

は '挿入されていません。 – Vokiel

答えて

1

もっと長い調査の後、私はそれを見つけたと思う。

のステップが取ら:

は、まず私はCKEditorバージョンは、すべてのHTML5タグをサポートしている場合にチェックし、それはありません。だから、それを取り除いたり、全く変えたりしてはいけません。あなたが掲示したように<p>&nbsp;</p>に囲まれていたがブロック1ではなくインライン要素として認識された場合に、<main class="someClass">が囲まれていました。 CKEDITOR.dtdに掘り起こしてmainが存在し、ブロック要素であることが判明しました。それはうまくいくはずです。

CKEditorの問題かWordPressかどうかを確認するには、データベースに書き込まれた内容と、CKEditorが取得した内容を確認しました。ポスト/ページのコンテンツは、(唯一の違いは、新しい行の文字だった - CKEditorバージョンは、コードをフォーマットとして)以下の例のようだった:

<main class="someClass"> 
    <p>There should be only 2 paragraphs inside the</p> 
    <pre>&lt;main class=&quot;someClass&quot;&gt;&lt;/main&gt;</pre> 
    <p>element.</p> 
</main> 

しかし、コードが編集のために返さ異なる

<p><main class="someClass"></p> 
<p>There should be only 3 paragraphs inside the</p> 
<pre>&lt;main class=&quot;someClass&quot;&gt;&lt;/main&gt;</pre> 
<p>element.</p> 
<p></main></p> 

ました<main class="someClass"><p></p>で包んだ後、CKEditorバージョンは、ブロック要素の周りの人々の段落を固定し、あなたが掲載された結果は以下のとおりであった:

<p>&nbsp</p> 
<main class='someClass'> 
<p>&nbsp</p> 

を秒後私はそれらの段落を追加した場所を見つけワードプレスコアのホルトデバッグ - 機能wpautop

https://developer.wordpress.org/reference/functions/wpautop/ formatting.php内部具体的には、すべてのブロック要素について説明 469 line

$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)'; 

のと全くmainがありません素子。

だから、あなたはいくつかのオプションがあります(お奨めではない)すべての

  1. 無効にwpautop
  2. 編集WordPressのソースを、リストにこの要素を追加します。その後、WordPressのアップグレードが完了するたびにそれについて覚えておいてください。

か、それを報告し、その後、任意のリスクなしに更新し、要求を引き出して、修正を待つ/パッチを作成すること;)

関連する問題