WordPressの概念について

第25回:サイドメニューに固定ページを表示する & 表示オプションとヘルプを見えなくする

どうも!スカーレット坊やです!

今回はサイドメニューに固定ページを表示する方法と、表示オプションとヘルプを見えなくする方法を紹介していくぞ。

スカ坊

もうちょっと利便性を上げたいんです。例えば固定ページにワンクリックでアクセスできたり、あ、それと、右上に出ている余分なメニューも消したいんです

コロ

固定ページを外にだすのと、「表示オプション」と「ヘルプ」の消去ですね。かんたんなPHPを、functions.phpに書き込んだら出来ますのでやってみましょうか!

スカ坊

コ、コードを書く!(ごくり
分かりました!やってみます!

このブログで解決できること

このブログで解決できること
  • ここまで読んでくれた人の続き(笑
  • かんたんなPHPで(コピペOK)機能を追加しよう
  • かんたんなPHPで余分なものを見えなくしよう
Index

簡単なPHPで、固定ページをサイドメニューに出してみよう

先日、プラグインのAAMを使って、クライアントに渡す編集画面をお見せしました。

先日はここの詳細は割愛してしまったのですが、これについて今回はやっていきます。まずサイドメニューの、本マークがついている3項目「○○○○グレード管理」というものですが、

これ、実は固定ページです。 これをクリックすると、ページの編集画面に1発で入れます。

本来ならサイドメニューに「固定ページ」というメニューを出して、そこから入って選択するものですが、この方が手間なく管理画面に入れますよね。ではこれはどうやっているのかを見ていきましょう。

STEP
functions.phpをデスクトップにコピーする

まずFTPサーバーから「functions.php」をデスクトップにコピーしてこよう。

Xサーバーの場合のfunctions.phpの場所はこちら

/ドメイン名/public_html/ワードプレス名のフォルダ/wp-content/themes/hello-elementor

STEP
デスクトップにコピーしてきたfunctions.phpをもう一度コピーしよう

なぜ二回コピーするのか。それは、ダウンロードして書き換えたら、元あったFTPに戻しますよね?
そうすると、元々FTPにあったファイルは上書きされるため、消えてしまいます。そんな状態でPHPを書き損じたりしたら…?
元のファイルがなくなっているため「元に戻す」事ができなくなります。

でも、この二重コピーが取ってあれば、コピーA・コピーBとしましょう。コピーAで失敗しても、もう一つのコピーBは「編集前」ですので、コピーBで上書きしてやれば、作業前に戻すことが出来ます。この「やる前に戻せる」事は非常に重要なのです

STEP
functions.phpにプログラムコードを記載しよう

ダッシュボードのサイドメニューに「ハイグレード管理」という項目を作りたい場合

//ダッシュボードのサイドメニューに固定ページを表示する関数
function add_page_to_admin_menu_hg() {
 add_menu_page( '画像更新画面', 'ハイグレード管理', 'read', 'post.php?post=0000&action=edit', '', 'dashicons-book-alt', 2);
}
add_action( 'admin_menu', 'add_page_to_admin_menu_hg' );

add_menu_page関数の説明

add_menu_page(
‘ページタイトル’,
‘メニューに出したい名前’,
‘権限 readは全権限を指す’,
‘どのページなのかpost=000の数字に出したいページのIDを入れよう’,
‘空欄でOK’,
‘メニュー左のアイコン’,
メニューを表示する←”でくくらなくて良い);

これと全く同じで良いのなら、コピペしても大丈夫です。ページIDだけは自分のものに変えてください。

STEP
保存をしてFTPにfunctions.phpを戻して、リロードしよう

書き終わったら、保存をして、FTPサーバーにある function.phpを上書きして、サイトをリロードしよう。

スカ坊

これで、サイドメニューに「ハイグレード管理」という項目が出てくるよ!

コロ

ちょっと一つ補足を入れさせてください。これは、サイドメニューから「固定ページ」の項目すらも消してる事が一つポイントです。

★最初の引数である「ページタイトル」が出ない理由

ハイグレード管理ページに入った際に、ページタイトルが出ていないことに気づいただろうか? これは決して以上ではなく、正確に言うと「出ているのだが、すっ飛ばされている」事になっている。

固定ページから一覧に入り、ページを選ぶのではなく、直接固定ページを開きに行っているので、遷移の流れ的には
メニュークリック→メニュー管理ページに遷移(ここで$page_title使用)→slag反応で固定ページへ遷移→固定ページ(ここでは$page_titleはもはや関係ない)
こんな関係になってしまっているのです。

直接なにかに影響するわけではないですが、補足でした★

かんたんなPHPで「表示オプション」と「ヘルプ」を見えなくしよう

この画面の左上には本来「表示オプション」と「ヘルプ」が存在しています。この2つのタブは、あまり困ることは出てこないのですが、「クライアントが触りやすい場所にある」のがやや問題です。「これなにかな?」という軽い気持ちで触った時になにかエラーの引き金に成るかもしれません。

スカ坊

後々のトラブルを避けるために、打てる手は全て売っておいて損はない。覚えてしまえば、簡単だから是非やってみよう!

STEP
functions.phpをデスクトップにコピーする

まずFTPサーバーから「functions.php」をデスクトップにコピーしてこよう。

STEP
デスクトップにコピーしてきたfunctions.phpをもう一度コピーしよう

さっきと同じ手順ですね、バックアップはとても重要です。

STEP
functions.phpにプログラムコードを記載しよう
//表示オプションとヘルプを管理者以外非表示にする関数
function my_admin_head(){
 if (!current_user_can('level_10')) {
   echo '<style type="text/css">#contextual-help-link-wrap,#screen-options-link-wrap{display:none;}</style>';
 }
}
add_action('admin_head', 'my_admin_head');

このプログラムは以下のような命令を出しています。

もし管理者ではない権限のユーザーだったら以下のCSSを適用しなさい
【CSS内容:ヘルプリンクと表示オプションリンクを見えなくしなさい】

これにより、管理者にしかヘルプと表示オプションは見えなくなる、というわけです。これもそのままコピペで使えます。

STEP
保存をしてFTPにfunctions.phpを戻して、リロードしよう

書き終わったら、保存をして、FTPサーバーにある function.phpを上書きして、サイトをリロードしよう。

スカ坊

これで利便性アップと、トラブル回避の療法が実行できたね!

ほぉ~PHPプログラムなんて無理じゃないか?
「坊やの力をなめるなよ!」

じゃ・・邪がn・・?

それではまた!

スカ坊の兄貴であるバーチャル坊やのInstagramが出来たよ。
NFT作品とかを載せているようだから是非見てあげて、フォローしてね!
NFTや仮想通貨のブログも書いてるからこちらもよろしくね!

この記事が気に入ったら
フォローしてね!

シェア頂けると嬉しいです!よろしくお願いします!
  • URLをコピーしました!
Index