サポート » 使い方全般 » カスタムメニューへ追加したメニューの表示・非表示

  • WPの3.3.1を使用しており、カスタムメニューにてサイトのナビゲーションを表示させております。

    外観>メニューより、カスタムメニューに一度追加したページまたは投稿を
    一時的に下書き設定などにして未公開状態にした場合でも、カスタムメニューから項目を取り除かない限り、ナビゲーションメニューには項目が表示されてしまいます。

    下書きではなく、公開状態を非表示としても、同じくカスタムメニューで制作されているナビゲーションメニューには、項目が表示されたままとなります。

    一度書いた記事を、途中で一時的に非公開にしたりすることが多いため、その度にカスタムメニュー項目より削除したり、追加したりするのに手間がかかり試行錯誤しております。

    カスタムメニューに追加した項目において、表示・非表示設定ができるプラグインなどをご存知の方はおりますでしょうか?

    もしくは、カスタムメニューに追加した項目を一時的に非表示にできる方法などありますでしょうか?

    ご教授のほどよろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 以下のコードをテーマフォルダの functions.php に貼付ければ OK◎

    add_filter( 'wp_setup_nav_menu_item', 'my_setup_nav_menu_item' );
    function my_setup_nav_menu_item( $menu_item ) {
      if ( isset( $menu_item->post_type ) ) {
        if ( 'nav_menu_item' == $menu_item->post_type ) {
          if ( 'post_type' == $menu_item->type ) {
            $original_object = get_post( $menu_item->object_id );
            if ( ! $original_object || 'publish' != $original_object->post_status ) {
              $menu_item->_invalid = true;
            }
          }
        }
      }
    
      return $menu_item;
    }

    ※[管理画面|外観|メニュー]で
     「無効なメニューアイテムがあります。確認または削除してください。」
     というメッセージが表示されて
     メニューのラベルに「(無効)」が付いて赤色で表示されますが
     気にしないでください。

    kzさん

    ありがとうございました。
    コードをfunctions.phpに追加することで、やりたかった事が実現出来ました。

    管理画面の外観>メニューで、アラートメッセージが出ていますが、逆にどのページを閉鎖中か分かりやすくて良いです。

    これで、作業が大幅に短縮できます!本当にありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタムメニューへ追加したメニューの表示・非表示」には新たに返信することはできません。