it-swarm-ja.com

さまざまな投稿タイプ用のTinyMCEカスタムスタイルシート

私は私のテーマのディレクトリのeditor-style.cssにカスタムスタイルを置くことによって、TinyMCE用のカスタムスタイルシートを使います。

どの投稿タイプを編集しているかに応じて、異なるスタイルシートを使用する方法を見つけようとしています。

TinyMCEでさまざまなスタイルを取得する1つの方法は、TinyMCE iFrameの<body>タグでクラスを切り替えることです。私はこれをNew York Timesの ICEエディタプラグイン 、TinyMCEで使用できるMicrosoft Wordの "track changes"機能のjavascriptバージョンで見ました。これが、投稿のHTMLを変更せずに編集の可視性を切り替える方法です。これが自己完結型の例です。

var toggleBodyClass = function() {

    var ed = tinyMCE.activeEditor;
    var body = ed.getBody()
    var cm = ed.controlManager;

    if(ed.dom.hasClass(body,'code-view')) {
        ed.dom.removeClass(body, 'myCustomClass');
    } else {
        ed.dom.addClass(body, 'myCustomClass');
    }

    ed.execCommand('mceRepaint');
}

これは私がそれ自身で別のスタイルシートを使うことを可能にしません、しかし私は私が.myCustomClassで欲しいすべての代替スタイルを作るためにeditor-style.cssを使うことができます。

問題は、ポストタイプを条件とするようにこのようなものを設定する方法がわからないことです。

これを実現するためにfunctions.phpに追加できるものはありますか?

3
supertrue

3.4以降、TinyMCEにいくつかのクラスが追加されたため、カスタム投稿タイプを含め、それらをターゲットにすることができます。たとえば、post-type-{$slug}は本体のクラスとして表示されます。詳しくは Tracチケット#19437 をご覧ください。

2
helenhousandi