「固定ページ」編集のみビジュアルエディタを無効に
-
Wp-paperさん、こんにちは。
いろいろ方法はあります。
関数であれば、get_post_type が使えるかと思いますが、その他にも $post を参照するとか、$_GET[‘post_type’]から判別する事もできます。アクションフックを使うと上手く行きそうです。
テーマのfunction.phpに以下のコードを追加してみて下さい。function disable_visual_editor(){ add_filter('user_can_richedit' , create_function('' , 'return false;') , 50); } add_action('edit_page_form', 'disable_visual_editor');
ちょっと検索したらプラグインも出てきたので、以下のプラグインでも何とかなるかもしれません。
Disable Visual Editor WYSIWYG追記:
上記のコードで上手くいったと思いきや、一旦、投稿でビジュアルエディタで編集後、固定ページに移動するとそのままビジュアルエディタが有効になってHTMLで編集できなくなります…
$_GET[‘post_type’]等で取得したほうが確実のようですね。jim912さん t.okuboさん
アドバイスありがとうございます。プラグインも試してみましたが、投稿でビジュアルエディタから
固定ページ編集に推移すると、ビジュアルタブに横線は入ってるものの
ビジュアルエディタ時の表示状態でした。お二人にいただいた関数を元に、
固定投稿ページ編集を判断
↓
ビジュアルエディタが有効状態であれば
タブの表示も、記事の中身も「HTML」の状態になるよう粘ってみます。
ありがとうございました。
function.php に下記コードを追加し
固定ページの編集画面の入ったときに「ビジュアル」タブを無効に
することはできましたが、やはり記事投稿で「ビジュアル」の状態から推移すると
タブは「HTML」のままで入力欄のTEXTAREAが「ビジュアル」時の表示になります。function disable_visual_editor(){ echo '<script type="text/javascript"> jQuery(document).ready(function(){ switchEditors.go(\'content\', \'html\'); document.getElementById("edButtonPreview").onclick = \'none\'; document.getElementById("edButtonPreview").innerHTML = \'<span style="text-decoration:line-through">\'+document.getElementById("edButtonPreview").innerHTML+\'\'; }); </script>'; } add_action('edit_page_form', 'disable_visual_editor');
「ビジュアル」「HTML」での違いを見比べると
入力欄の<TEXTAREA>のstyle要素に「HTML」の場合は[display:none;]ないようですので、
document.getElementById("content").removeAttribute("display");
を追加しましたが、何も変化がありませんでした。現状の推測では、<TEXTAREA>に振られるidが動的に付けられているため
処理の順番で要素を消す処理が働かないのでは?と考えているのですが、その後の解決策が出てきません。アドバイスの程お願いいたします。
かなりやっつけですがこれでどうでしょう?
FirebugでビジュアルエディタとHTML切り替えの動作を追って、HTML表示時に必要そうなクラスの付与や削除を行ってみました。function disable_visual_editor(){ add_filter('user_can_richedit' , create_function('' , 'return false;') , 50); echo '<script type="text/javascript"> jQuery(document).ready(function(){ jQuery("#edButtonHTML").addClass("active"); jQuery("#edButtonPreview").removeClass("active"); jQuery("#edButtonHTML").attr("onclick", ""); jQuery("#edButtonPreview").attr("onclick", ""); jQuery("#quicktags").css("display", "block"); jQuery("#quicktags").css("display", "block"); jQuery("#content").css("display", "inline"); jQuery("#content").css("color", "#000000"); jQuery("#content_parent").css("display", "none"); }); </script>'; } add_action('edit_page_form', 'disable_visual_editor');
一応それっぽく動くような…
- トピック「「固定ページ」編集のみビジュアルエディタを無効に」には新たに返信することはできません。