公開日:
サイト納品前に確認!! WordPressの管理画面カスタマイズ
この記事の目次(クリックで項目へジャンプします)
WordPressで作ったサイトをクライアントに納品する場合、非表示にしたいメニュー部分とかってありますよね。
自分で使う分には、使い方も大体分かっているので「まぁ、そのまんま特に何も。」みたいな感じにしてしまいますが、クライアントはダッシュボードのサイドメニューなんかに混乱してしまうこともあります。
そもそも、製作側としてはあんまり触ってほしくない部分もありますよね。
例えば、固定ページに書いたソースもエディターのビジュアルとテキストの切替をすると、崩れてしまったりするので触ってほしくなかったり。
そこで今回はクライアントへの納品前にしておきたい、管理画面のカスタマイズをご紹介します。
ビジュアルエディターを非表示に!
[php]
function disable_visual_editor_in_page(){
global $typenow;
if( $typenow == ‘page’ ){
add_filter(‘user_can_richedit’, ‘disable_visual_editor_filter’);
}
}
function disable_visual_editor_filter(){
return false;
}
add_action( ‘load-post.php’, ‘disable_visual_editor_in_page’ );
add_action( ‘load-post-new.php’, ‘disable_visual_editor_in_page’ );
[/php]
funsctions.phpに上記のコードを追加で固定ページのエディター切替を出来ないように設定します。固定ページへのメニュー自体非表示にしてもいいのですが、後から制作側で再度触る事が想定されるケースもあったりします。
そういった場合は非表示にせず、エディターの切替だけを制御するのもいいかもしれません。
自動で挿入される<p>タグを挿入されないようにする
[php]
remove_filter(‘the_content’, ‘wpautop’);
[/php]
p タグを自動付加されないようにするために、記事を出力する the_content() 関数の前に、 remove_filter(‘the_content’, ‘wpautop’) を追加します。 エディターの切替制御と同時に設定しておくと便利。このコードはテンプレートに記述します。
管理画面の左メニューに表示されるプラグイン更新通知を非表示
[php]
remove_action( ‘load-update-core.php’, ‘wp_update_plugins’ );
add_filter( ‘pre_site_transient_update_plugins’, create_function( ‘$a’, "return null;" ) );
[/php]
「なんか赤い丸に数字が出てきましたー!!」とクライアントが不思議がらないように設定しましょう。
管理画面左メニューに表示されるテーマ更新通知を非表示
[php]
remove_action( ‘load-update-core.php’, ‘wp_update_themes’ );
add_filter( ‘pre_site_transient_update_themes’, create_function( ‘$a’, "return null;" ) );
[/php]
プラグイン更新通知と同様にこちらも合わせて非表示に。こちらも「なんか出てきましたー!!」と言われたくない方は設定しましょう。
ダッシュボード上部に表示されるWordPress本体のバージョン更新を非表示
[php]
add_filter(‘pre_site_transient_update_core’, create_function(‘$a’, "return ?null;"));
[/php]
ダッシュボード上部にも更新情報は表示されます。WordPress本体の更新を非表示に。またまた「こちらもなんか出てきましたー!!」と言われたくない方は設定しましょう。
管理画面のサイドバーメニューをそれぞれ非表示にする
[php]
if (current_user_can(‘author’)) { //投稿者の場合
remove_menu_page(‘index.php’); // ダッシュボード
remove_menu_page(‘edit.php’); // 投稿
remove_menu_page(‘upload.php’); // メディア
remove_menu_page(‘users.php’); // プロフィール
remove_menu_page(‘tools.php’); // ツール
remove_menu_page(‘edit-comments.php’); // コメント
remove_menu_page(‘themes.php’); // 外観
remove_menu_page(‘plugins.php’); // プラグイン
}
add_action(‘admin_menu’, ‘remove_menus’);
[/php]
「なんか見たことのない用語がめっちゃ羅列されてるー!!」とクライアントが混乱してしまう場合もありますので、非表示にしたいものは非表示にしましょう。
ちなみにお問い合わせ用のプラグインであるコンタクトフォーム7を入れると「お問い合わせ」の項目がサイドメニューに表示されますす。
その場合は、プラグイン自体の設定画面に表示されるURLの末尾「=」から後を「remove_menu_page(★’);」の★に入れると非表示になります。
全てのプラグインで試したわけではありませんが、基本的はこれで大丈夫です。
管理画面の上部に表示されるバーにログアウトを表示
[php]
function add_new_item_in_admin_bar() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
‘id’ => ‘new_item_in_admin_bar’,
‘title’ => __(‘ログアウト’),
‘href’ => wp_logout_url()
));
}
add_action(‘wp_before_admin_bar_render’, ‘add_new_item_in_admin_bar’);
[/php]
通常、ログアウトはバーの右側にあるプロフィール部分にマウスを乗せるとプルダウンで表示されますが、操作しやすいようにそのまま表示してあげる場合に便利です。
管理バーに表示されるヘルプメニューを非表示にする
[php]
function my_admin_head(){
echo ‘<style type="text/css">#contextual-help-link-wrap{display:none;}</style>’;
}
add_action(‘admin_head’, ‘my_admin_head’);
[/php]
ページ上部の右側に表示される「ヘルプ」のボタンを消します。クライアントはほとんど使うことが無いでしょう。
フッターのWordPressリンクを担当者へのメールリンクに。
[php]
function custom_admin_footer() {
echo ‘お困りの際は<a href="mailto:自分のアドレス">担当者まで</a>ご連絡ください。’;
}
add_filter(‘admin_footer_text’, ‘custom_admin_footer’);
[/php]
WordPressのリンクを担当者へのメールリンクに変更します。
なんかプロっぽくてカッコイイ。w
いかがでしたでしょうか。
ちょっとした気遣いで、クライアントがより使いやすくなったりもしますよね。
他にもログイン画面のカスタマイズなど、まだまだ設定がありますので是非探してみてくださいね。