web-dev-qa-db-ja.com

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

ワードプレス自体なのかTiny MCEなのかは定かではありません。しかし、HTMLとビジュアルエディタを切り替えるとき、それは を追加し、前後に切り替えるたびに追加のものを追加します。私はコードに改行を入れさえしません、それはどういうわけかそれが私の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');
12
Dave

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

2
Matthew Xerri

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

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

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

ピリオドの後に1つのスペースを入力するだけで、この問題を回避することができました。

4
Eric J.

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

投稿コンテンツに追加または投稿コンテンツから削除されたすべてのコンテンツは、適用されているtiny_mce_initによって引き起こされます。

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

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

Codexの tiny_mce_before_init フィルタの使用例 CodexでのTinyMCEの設定/カスタマイズの他の例はこちら

3
Chip Bennett

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

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

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

1
wolfdawn