TinyMCEがスパンタグを削除できないようにする方法


10

XMLRPCを介してWordで生成されたHTMLをWordPressに投稿しています。post.phpに行く前に、フォーマットはデータベースに正しく保存されています。TinyMCEはその魔法を実行し、かなりのフォーマットの詳細を失います。
私が目にしている主な問題は、<span>他の要素を囲むスタイル情報を持つタグが取り除かれていることです。これらのタグが実際にKsesではなくTinyMCEによって削除されることを確認しました。TinyMCEがHTMLを変更しないようにする方法はありますか?私が試してみました

add_filter('tiny_mce_before_init', 'tinymce_init');

function tinymce_init( $init ) {
    $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]';
$init['verify_html'] = false;
    return $init;
}

それは助けにはならなかった。TinyMCE ドキュメントによると、「verify_html」

このオプションは、要素のクリーンアップ機能を有効または無効にします。このオプションをfalseに設定すると、すべての要素のクリーンアップがスキップされますが、URL変換などの他のクリーンアップ機能は引き続き実行されます。

回答:


6

extended_valid_elementsTinyMCE Advancedの設定パネルでオプションを見つけることができませんでしたが、functions.php解決したものに以下を追加しました:

function override_mce_options($initArray) {
    $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
} add_filter('tiny_mce_before_init', 'override_mce_options');

ソース


4

私はほとんどいつもTinyMCE Advancedプラグインを使用しています- extended_valid_elementsオプションを使用してサポートされているタグを追加できる管理ページ(設定-> TinyMCE構成)があります。span削除したくない他のタグを追加してお楽しみください!


おかげで、TinyMCE Advancedは上記のコードとまったく同じことを行い、extended_valid_elementsを追加します。しかし、私はそれをプラグインで行います。多分私は私のコードのどこかにバグがあります。
ltfishie

インストールして試してみてください-機能する場合は、コードに問題があります。そうでない場合は、プラグインまたはテーマレベルで何か他のものがオーバーライドしています。
SickHippie

2
TinyMCE Advancedの最新バージョンで要素を追加する場所が見つかりませんでした
Nicola Peluchetti、2015年

この投稿は3.5年前なので、驚くには当たりません。
SickHippie 2015年

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