web-dev-qa-db-ja.com

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

XMLで生成されたHTMLをXMLRPC経由で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変換などの他のクリーンアップ機能は引き続き実行されます。

10
ltfishie

TinyMCE advancedの設定パネルにextended_valid_elementsオプションが見つかりませんでしたが、私の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');

出典

6
Sim

私はほとんどいつも TinyMCE Advanced pluginを使います - 管理者ページ(Settings-> TinyMCE Con​​fig)があり、extended_valid_elementsオプションを使ってサポートされているタグを追加できます。単にspanを追加し、削除したくないその他のタグを追加して楽しんでください。

4
SickHippie