Wordpressは自動的に「 」を追加しますか?


12

ワードプレス自体か、それを行っているTiny MCEかはわかりません。しかし、HTMLエディターとビジュアルエディター を切り替えると、前後に切り替えるたびに1つずつ追加されます。私はコードに改行さえありません。それはどういうわけか私のHTMLコードのタグに基づいてどこに配置したいかを決定しているようです。

これは何が原因で、どうすれば修正できますか?

私はすでにテンプレート関数ファイルでこれを試しました:

//disable auto p
remove_filter ('the_content', 'wpautop');
remove_filter ('comment_text', 'wpautop');
// Remove auto formatting
remove_filter('the_content', 'wptexturize');
remove_filter('comment_text', 'wptexturize');
remove_filter('the_title', 'wptexturize');

2
タブを切り替えるときに実際にこれを自動的に実行していることにも気づき、非常に面倒です。...しかし、まだそれを修正する方法については全く分からない
ヨースト・デ・ファルク

1
私はほぼ完全にHTMLエディターを使用し、BBEditからそこにコードを貼り付けます。私がWPで保存するとき、私にこれをするようです。
さようならスタック交換

私もこの問題を抱えています。手動で投稿してEnterボタンをクリックすると、段落が追加されます。これは、小さなmceをインストールした後に発生します。とにかくこれはどういう意味ですか:tiny_mce_initをフィルターし、既定のコンテンツフィルタールールを上書きします

1
これはループ内の投稿タイトルで私に起こっています。無差別のようです(一部の投稿の一部のスペース文字にのみ発生します)。
-Drewdavid

この問題の簡単な回避策を見つけることができました:wordpress.stackexchange.com/a/291746/135285
AturSams

回答:


2

私が使用しているのはremove_filter( 'the_content', 'wpautop' ); remove_filter( 'the_excerpt', 'wpautop' );、Wordpressが余分なマークアップを作成するのを防ぐことです。外部エディターからコードをコピーして貼り付けていますか?


4
うまくいかなかった。Tiny MCEを使用せずに、HTMLに「更新」ごとに新しい s が追加されます
クリスチャン

3
また、私のために動作しません
-sidonaldson

4

ピリオドの後に2つのスペースを使用すると、改行しないスペースが挿入されることがわかりました。エディターは、余分なスペースを、テキストの書式設定にスペースを使用しようとする私の試みとして解釈しているようです。

Wordpressエディターから16進表示をサポートするテキストエディター(EditPad Proを使用)に記事をコピーアンドペーストすると、ピリオドとそれに続く2つのスペースが実際にはテキストとそれに続く単一のテキストであると思いますユニコード文字と16進コードA0が続きます。これはUnicodeのNO-BREAK SPACE文字です。

スペースに続いてNO_BREAK SPACE文字をスペースだけで置き換えることにより、既存の記事の改行なしスペースを削除できました。ほとんどのテキストエディタでは、「2つのスペース」を「検索」テキストボックスにコピーし、単一のスペースを「置換」テキストボックスに書き込むことで、検索と置換を行うことができます。

一定期間後にスペースを1つ入力するだけで、今後の問題を回避できました。


3

これは何が原因で、どうすれば修正できますか?

投稿コンテンツに追加または削除されたコンテンツはtiny_mce_init、コンテンツフィルタリングルールが適用されているによって引き起こされます。

それを防ぐ方法は次のとおりです。

  1. Filter tiny_mce_init、デフォルトのコンテンツフィルタリングルールを上書きする
  2. ビジュアルエディターとHTMLエディターの切り替えを停止します。本当に; 上記のオプション1を使用する場合を除き、エディターを切り替えないください。WordPressは、ビジュアルまたはHTMLエディターを使用してコンテンツを入力するように使用することを目的としていますが、両方を同時に使用することはできません。

tiny_mce_before_initCodex のフィルターの使用例。CodexでのTinyMCEの構成/カスタマイズの別の例はこちら


11
#2の答えが間違っていると確信しています。それか、誰かがUIで「失敗」しました。エディターがビジュアルまたはHTMLとしてのみ使用されることを意図している場合、タブがまったくないのはなぜですか?どうにかして、設定の下でオプションとして使用するだけではありませんか?さらに、タブはデフォルトでそこにあります...それはあなたがセットアップしなければならない開発者の高度な機能やオプションではありません。ユーザーがその間で前後にクリックできるようにすることを意図しており、実際の問題は時々一緒にうまく動作しないことです。(特にフォーマット空間の場合)
luckykind

1
@luckykindいいえ、彼らは彼らの間を行き来するつもりはありませんでした。これはTinyMCEのアーキテクチャ上の問題です。そして、それだけではありません
カイザー

3
HTMLとビジュアルの編集を切り替えるタブを提供するUIが、そのように使用されることを意図していないことを私に伝えることはできません。それはほぼ2016年であり、問​​題はまだそこにあります。
エリックJ.

1
私のコンピューターは電源を入れることを意図したものではなかったと思いますが、電源ボタンがあるので電源を入れたので、問題はすべてユーザーのせいです。デザインとコードは明らかに完璧です。
AturSams

1

ヘブライ語のブログにWordpressを使用しています。

回避策:sublimeやnotepad ++などのエディターにテキストをコピーし、検索して通常のスペースに置き換えます。テキストからそれらの1つをコピーできます。

免責事項:これは答えではなく、回避策の多くであるため、自由に投票してください。私にとって、Wordpressはnbspをどこでも、韻も理性もなしに喜んで追加しています。何が原因なのか分かりません。ヘブライ語のテキストでは、英語のテキストよりもはるかに多くのことが起こります。


0

2020年にまだこれに固執している人がいる場合は、大量のコンテンツをWordpressに移行した後にこの問題が発生しました。誰もがコピーアンドペーストを行ったので、手作業で修正するにはコンテンツが多すぎます。php関数を以下に実装し、functions.phpに追加して、問題を解決しました。

    function replace_content($content) {
        $content = htmlentities($content, null, 'utf-8');
        $content = str_replace(" ", " ", $content);
        $content = html_entity_decode($content);
    return $content;
    }
    add_filter('the_content','replace_content', 999999999)

999999は、これら が途中で追加される場合に備えて、このフィルターが最後に実行されることを確認するためのものです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.