ホームページ制作

WORDPRESS テーマ [HTML5 Blank theme]で管理バーが表示されない問題について

私がWEBをデザインするときには、デザインだけを先に考えてそれを実現するのにちょうどいいテンプレートを選びカスタマイズする事が多い。
ただ、既存のテーマだと色々としがらみがあってうまく表現できない事もある。

とはいえ、やはり完全スクラッチからだと時間がかかりすぎるので、そんな時はベースになる骨組みをもったテーマを利用して制作します。

いつもは、BONESやunderscoresを利用する事が多いのだが、もっぱらbootstrap派の私。
今回は、元々Bootstrapが積んであるベーステーマのHTML5 Blankテーマを使用してみました。
また、HTML5 Blankのアップグレードに対応できるように、子テーマを使ってカスタマイズ開始です。

そうしたら…

カスタマイズ時には欠かせないプラグインの一つ「Show Current Templete」がうまく動作しない。というか、プレビューで管理バーが出てこない問題に遭遇。

まずはプラグインがいけなかったのかとすべてを停止して見ても結果は一緒。
ユーザーの設定も確認したが、ツールバーは表示されることになっている。
次に、ログインしなおしてみたが、やはり一緒。
さらにキャッシュを削除してログインしてみるもやはり管理バーが出てこない。

という事で、ググって情報を探すことに。

まずたどり着いたのは、そもそも管理バーが出る設定になっているのか否かを探るファンクションコードを発見。
早速試してみる。

——————-
//ツールバーを確認する

——————-

画面左上に結果が表示されるのだが(bool)と表示されたらそもそもテンプレートの方で出る設定になっていないという事なのだとか。
結果は、想定通りのBool。

そもそもの問題だったことが分かったところで、元のfanctionを調べると。。。
いました。犯人!

「add_filter(‘show_admin_bar’, ‘remove_admin_bar’);」

こいつが犯人と判明。

が、ココを直接書き換えるのは避けたい。
ので、単純にここを上書きするべく、子テーマのfunctionに

——————-
if ( ! current_user_can( ‘manage_options’ ) ) {
show_admin_bar( false );
}
——————-

を入れてみた。
が…うまくいかず。

さらにググって、まさに同じ問題に頭を抱えている人が投稿した板を発見!

そこでこのコードにたどり着きました。

——————-
//Remove the filter that removes the admin bar
function remove_parent_filters(){ //Have to do it after theme setup, because child theme functions are loaded first
remove_filter(‘show_admin_bar’, ‘remove_admin_bar’);
}
add_action( ‘after_setup_theme’, ‘remove_parent_filters’ );
——————-

これを子テーマのfunctionに書き加えた事で…

問題は無事解決!

今の世の中検索で手に入らない答えはないんじゃないかとやはり思った瞬間でした(笑)

これは、同じように困ってる人の助けになれば&自分の為の備忘録です♪

投稿者: candy-jack