【WordPress】wp_nav_menuで非公開のページは非表示にする方法
WordPressでメニューを作成できるwp_nav_menu()で、非公開のページは非表示にするフィルターフックをご紹介します。
やりたいこと
固定ページを非公開にすると
メニューのここも「非公開」となりますが
実際のメニューには表示されてしまいます。(WordPressからログアウトした状態でも)
そこで
functions.phpに以下のコードを追記します。
//メニューから非公開のページは削除
function hide_private_pages_from_menu ($items, $args) {
foreach ($items as $ix => $obj) {
if (!is_user_logged_in () && 'private' == get_post_status ($obj->object_id)) {
unset ($items[$ix]);
}
}
return $items;
}
add_filter ('wp_nav_menu_objects', 'hide_private_pages_from_menu', 10, 2);
すると、メニューから消えました。(WordPressからログアウトした状態でご確認ください)
お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。
または以下のボタンからなにか買って応援 (PR)
Amazon
楽天市場
Yahoo!ショッピング