管理者以外は、プラグイン、ユーザーなどのサブメニューを非表示にする
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。
管理者以外の、編集者や投稿者には、非表示にしておきたいメニューがある。
管理画面の一部のメニューを非表示にするで、メニューごと非表示にする方法は商会した。
今回はサブメニューだけを非表示にする方法。
functions.php へ記述
//管理画面のサブメニューの非表示(管理者以外)
「//」を頭につけると、コメントアウトなので、メニューからは削除されない。
上の例でいくと、「ユーザー一覧」を非表示にしたいなら、
↓
と、頭の//を削除すればいい。
“管理者”でもメニューを削除したい場合は、一番上と一番下の
を削除すればいい。
メニューを非表示にしている場合は、サブメニューも強制非表示
例えば、メニューの「ユーザー」を
で非表示にしている場合は、
と書いていなくても、
「ユーザー」のサブメニューである
ユーザー -> ユーザー一覧
ユーザー -> 新規追加
ユーザー -> プロフィール
の3個は強制的に非表示になる。
プラグインなどで勝手に追加されるメニューのIDを調べる方法
functions.phpへ
これを書いて、ページ(ソース)を見ると
って感じの文字の羅列が見えるので、
“メニューの単語” の前にある array(数字) の数字が”メニューの単語”のIDになっている。
WordPress(BuddyPress)でユーザー登録した一般ユーザー(投稿者権限)で、管理バー(Adminバー)を非表示にする
<実現したい機能>
・WordpressのSNSプラグイン、BuddyPressのメンバーで、ユーザー登録した一般ユーザー(投稿者権限)にはサイトフロントで管理バーを表示させない。
・管理者としてログインしてる時は見えていていい。
functions.php へ記述
サイトフロントでのアドミンバーの非表示は、functions.php に1行書くだけでOK。
管理者でも非表示したいのであれば、
を削除して、真ん中の1行だけ書いておけばいい。
WordPressで、ログイン時だけdisplay noneなどを適用し、非表示にする方法
例えば、「ログインはこちら」などを固定フッターに表示しているが、ログインした人には、固定フッターそのものを非表示にしたい場合などに便利。
↓↓↓ログインすると、固定フッターを非表示に↓↓↓
ちなみに、上の写真のように、固定フッターに「ログインボタン」を追加するのに便利なWordperssのプラグインはこちらの記事を参照。
固定フッターを導入する方法 ワードプレスプラグインSimple Sticky Footer
functions.phpにログイン時のみ、CSS追記をする記述を追加
管理画面の「外観」→「テーマの編集」→「テーマのための関数(functions.php)」 とクリックして、 functions.php に、
add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
echo ‘<style type=”text/css”>#sticky-footer {display: none;}</style>’;
endif;
}
と追記しよう。
add_action( ‘wp_head’, ‘footer_custom‘);
function footer_custom() {
この、footer_custom は任意の名前でOK。
これで、ログイン時のみ、ヘッダーに、「id=”sticky-footer” に対して display: none; ね」と追記することができる。
応用編、ログインしてない時だけに適用する
add_action( ‘wp_head’, ‘footer_custom’);
function footer_custom() {
if ( is_user_logged_in() ) :
else :
ここに非ログイン時の処理を記載
endif;
}
こんな感じで色々使える。
明日試したくなるカスタマイズ、ネットな日々に役立つ小技と、たまに旅行の妄想と。