wordpress/Adobe Animate CCなどweb技術やブログ運用に関する話をしていきます!検索エンジン最適化に関する実験に関する情報も!
⇒ 本ブログの詳細/連絡先はコチラ!
web技術TOP WordPress アクセスアップ Adobe Animate CC 便利ソフト/サービス紹介 効率化
  1. ホーム
  2. 〇ブログ/web技術
  3. WordPress
  4. WordPress関連TIPS
  5. WordPress高速化/安全性のためfunctions.phpを管理画面用途と公開用に分けよう!
■注目記事一覧

高校数学 教科書用シミュレーターの制作に携わりました!!

複数専門ブログと雑記ブログ、両方のいいとこ取りの形態/両立を技術的に実現してみました!

ブログ記事数500突破!開設から2年3ヵ月のアクセス数変動を振り返ってみた!

WordPressのGutenbergで秒速で設定済みブロックを呼び出す方法!

Adobe Animate CC(旧FLASH)が凄い!技術者にこそ是非!

エックスサーバーが凄すぎる!高速レスポンスを誇る高品質サーバー!

画像素材サイト「写真AC」が超お得でおすすめです!
 
全テーマ共通記事一覧

WordPress高速化/安全性のためfunctions.phpを管理画面用途と公開用に分けよう!

今回はfunctions.phpを管理画面とそれ以外で分けよう!というオススメ設定のお話です。簡単なので、すぐにでも分けることをオススメします^^

重要:functions.phpは毎アクセス時に必ず呼ばれる!

functions.phpはwordpressの概念の中でも最重要なものです。なぜなら、常に呼ばれるからです。どんな時でも呼ばれます。ページを表示するときでも、管理画面にログインするときでも、プラグインの処理が走るときでも、、、必ずです。

だからこそ、とりあえずfunctions.phpに書いておけば何でも大丈夫なんですね。必ず呼ばれるから。何でも書けるから便利ですよね~

何でもかんでも1ファイルに書くのは良くない!

そもそもfunctions.phpに何でも書くのはよくないです。それは3つほどデメリットがあるからです。

欠点1:プログラムに無駄な処理をさせる

functions.phpは毎回必ず走ります。なので、「管理画面に新しいメニューを追加」「管理画面だけでしか使わない処理の起動」など全ての処理をやろうとするんです。公開ページであっても。これって無駄の極みですよね、、、一つ一つの処理は大したことないですが、累積すると重くなってきたりします。

欠点2:functions.phpでエラーがでたら、全てのページが見えなくなる

これはよく言われることですね。functions.phpになんでも書いていると、どこかでエラーがでたときに全てのページがみえなくなります。管理画面含めて。なので、functions.phpを元に戻せないと大変なことになります。これって安全じゃないですよね。

欠点3:メンテナンス性の低下。functions.php読みにくくなる!

最後にこれも重要ですね。なんでもfunctions.phpに書くと、表示ページのことや管理画面の設定もごちゃ混ぜになるので、わかりにくくなります。管理しにくくなりますね。
 
 
つまりfunctions.phpは↓のように、wordpress全部のプログラムに影響を与える危険なものなのです!

使う時だけ処理するようにしよう!管理画面用は別phpに分別しよう!

上記のようにfunctions.phpに何でも書くのは色々と問題があります。だからこそ、最低限、管理画面の設定は別ファイルで行うことをオススメします。functionsAdmin.phpみたいなのをつくり、そちらで定義を書くようにする感じ。
やり方は簡単です!

手順1:functions.phpに以下のコードを追加

こちらは簡単なコードですが、「管理画面として呼び出されたら、functionsAdmin.phpを読み込む」という意味です。こうしておくと、管理画面以外ではこの部分を無視してくれるんですね!

functions.php
if (is_admin()){
    include(STYLESHEETPATH . "/functionsAdmin.php");
}

手順2:functionsAdmin.phpに管理画面の定義を移す

新たにfunctions.phpと同じフォルダにfunctionsAdmin.phpを作成して下さい。そして、このfunctionsAdmin.phpに管理画面の定義を移せばいいだけです。

functionsAdmin.php
//管理画面登録などはここに記述
function add_adm_aindex() {
     include(STYLESHEETPATH . "/adm/aindex.php");
}
function register_my_custom_menu_page() {
    add_menu_page('システム管理', 'システム管理', 'manage_options', 'aindex', 'add_adm_aindex', 'dashicons-welcome-learn-more', 3);
}
add_action( 'admin_menu', 'register_my_custom_menu_page' );

これだけで、functionsAdmin.phpは管理画面表示時しか読み込まれなくなります!これだと、functionsAdmin.phpをいじっても公開ページに影響ないから安心です!

まとめると↓こんな感じ。最小限の影響で済むようになります。

ということで、基本的なことですがこのようにfunctions.phpをわけておくことをオススメします!


⇒「WordPress関連TIPS」カテゴリ記事一覧
⇒「WordPress高速化」カテゴリ記事一覧

その他関連カテゴリ

↓WordPressでブログ始めるならエックスサーバーがおススメ!




お気軽にコメントお願いします!

Your email address will not be published. Required fields are marked *