ショウジンブログ on Hatena

“お芝居をしないと、この社会では異邦人として扱われるほかない”

固定ページにおいてデフォルトの投稿エリアを削除する@WordPress

固定ページの本文を入力するテキストエリアを削除する例です。

どんなときに必要かというと、たとえば定型の情報をカスタムフィールドなんかで用意していて、そこだけを使う場合はフリーテキスト用の本文入力エリアが不要だったりします。

納品後、クライアントさん側で更新をしていく場合、不要なものはないにこしたことはないので(混乱したり誤操作の原因に)、スマートなやり方ではないかもしれませんが、jQueryのremoveを使って固定ページのページタイトルを指定することで、個別に本文入力エリアを削除することがあります。

jQueryを使いますので、まずはjQuery本体を読み込んだ上でremoveメソッドを使います。

/* 固定ページのタイトルを判別してデフォルトの投稿エリアを非表示に */
jQuery(function(){
    /* 固定ページの投稿タイトルのinputの値をval()で取得 */
    var post_title = jQuery("#titlewrap input[name='post_title']").val();
    if((post_title == 'トップページ') || (post_title == '会社概要') || (post_title == '工事実績') || (post_title == '採用情報')){
        jQuery('#wp-content-wrap').remove();
    };
    if((post_title == 'フッターメインメニュー') || (post_title == '会社連絡先情報') || (post_title == '社名及び住所')){
        jQuery('#ed_toolbar').remove();
        jQuery('#wp-content-editor-tools').remove();
    };
});

上記の例では、固定ページのタイトルをval()で取得して判別し、タイトル(post_title)を指定して会社概要、工事実績、採用情報の場合には#wp-content-wrap(入力エリア)をremove。

また、フッターメインメニュー、会社連絡先情報、社名及び住所のタイトルを持つ固定ページでは#ed_toolbar、#wp-content-editor-toolsをremoveしています。

非表示にする要素名はGoogle Chrome等のWebブラウザの開発ツールを使って調べ、それを指定します。

Web制作の現場で使うjQueryデザイン入門[改訂新版] (Web Professional Books)

Web制作の現場で使うjQueryデザイン入門[改訂新版] (Web Professional Books)