サポート » 使い方全般 » エディタでHTMLモードを強制する方法

  • 解決済 moyata

    (@moyata)


    ビジュアルモードで許容されないHTMLをエディタのHTMLモードで固定ページに
    保存して使用しています。

    このページを再編集する際、開いた時にエディタがビジュアルモードであったり、
    HTMLモードとビジュアルモードの行き来をすると一部のタグや属性の削除が起きます。

    そのため、固定ページの作成/編集の際、ビジュアルモードとHTMLモードの
    どちらを最後に使用したかによらず、必ずHTMLモードで開くようにしたいと考えて
    います(自分だけなら良いのですが、他にあまり詳しくない編集者がいるため)。

    固定ページ以外ではビジュアルモードも使いたいことや、「qTranslate」という
    多言語プラグインに影響があることから、「ユーザー>プロフィール」の
    「ビジュアルリッチエディターを使用しない」という設定は使えません。

    少しソースを追ったところ、
    「wp-includes/class-wp-editor.php」の「_WP_Editors::editor()」で
    「if ( ‘html’ == wp_default_editor() )」をtrueに強制すると、
    エディタの切り替えタブはHTMLモードにできることが分かりましたが、
    入力欄の内容は最後に使用したモードに依存して表示されてしまいます。

    入力欄の表示は、ビジュアルモード用とHTMLモード用で別になっていて、
    JavaScript(switchEditors.switchto(this);)でモードを切り替えるように
    なっていますが、初期表示の処理がどこにあるのかが分からず、行き詰って
    おります。

    エディタでHTMLモードを強制する方法について、アドバイスをいただけませんでしょうか。
    よろしくお願い致します。

3件の返信を表示中 - 16 - 18件目 (全18件中)
  • 上記で、更新 ボタンを押したあと「タブhtml」になりますが、
    こちらでは、編集エリアは「ビジュアル」の表示のままです。
    そちらではいかがでしょうか。

    htmlソースに戻ります。

    プラグインをはずして、挙動が変わるようなら、そこから先は、プラグインを追いかけていただくしかないと思います。

    qTranslate がゴニョゴニョしてるせいですね。

    functions.php のフィルタ処理をしつつ、
    qtranslate_javascript.php 291行目を
    if ( getUserSetting( 'editor' ) == 'html' ) {
    から
    if ( 'page'==pagenow ) {
    に変更すれば OK です。

    qTranslate のファイルをいじらずに、、っていうのはちょっとシンドイです。

    スレッド開始 moyata

    (@moyata)

    お盆休みを挟んでしまい、返信が遅くなりました。申し訳ありません。

    > プラグインをはずして、挙動が変わるようなら、そこから先は、プラグインを追いかけていただくしかないと思います。

    > qTranslate がゴニョゴニョしてるせいですね。

    kzさんのご回答を試しましたところ、固定ページ表示時に、最初からHTMLモードで表示され、編集エリアの内容もHTMLモードとすることができました。
    大変助かりました。どうもありがとうございます。

    qTranslateが追加した処理において、処理順序の関係で今回のモード変更処理が反映されなかったということでしょうか。

    ご指示いただいた変更(qtranslate_javascript.php 291行目)は、実際には以下のように致しました。そうしない場合、固定ページ以外でHTMLモードが表示される際に、編集エリアの内容がビジュアルモードのままとなってしまったためです。

    if ( getUserSetting( ‘editor’ ) == ‘html’ or ‘page’==pagenow ) {

    皆さま、いろいろとアドバイスいただき、どうもありがとうございました。

3件の返信を表示中 - 16 - 18件目 (全18件中)
  • トピック「エディタでHTMLモードを強制する方法」には新たに返信することはできません。