WPX Nav Menus

元ネタは公式フォーラムのカスタムメニューにカスタム投稿タイプのアーカイブです。register_post_type() のパラメータに has_archive, show_in_nav_menus ができたときに「キタ!」と試したところ、nav menu に投稿タイプの記事が一覧されて「そっちかー」とションボリされた方は結構いらっしゃるに違いない。記事ごとよりはアーカイブの方がメニュー項目としての需要は多いはずなのでプラグインにしてみました。

Description

WordPress の管理画面[外観|メニュー]を色々便利にしていくよ!

Features
  • メニュー項目にカスタム投稿タイプのアーカイブを追加します。
    ※ has_archive, show_in_nav_menus 共に true のカスタム投稿タイプが対象です。
      カレントのメニュー項目に current-menu-item クラスが付きます。
To Do
  • メニューに使う画像を指定。
    ※ css の background でなくて img タグを使用したい方向け
  • ご意見・ご要望はコメントでお気軽に!

Requirements

  • PHP5+
  • WordPress 3.1+

Download

  • WPX Nav Menus  version: 0.0.2 (.zip  2.71 kB)
  • Installation

    1. Unzip `wpx-nav-menus.zip`.
    2. Upload `wpx-nav-menus` folder to the `/wp-content/plugins/` directory.
    3. Activate `wpx nav nemus` through the 'Plugins' menu in WordPress.

    Known Issue

    • nav menu 関連にフックが少な過ぎてツライ。

    Version History and Changelog

    • 0.0.2 [7-27-2011]
      Bug fix: Fixed typo 'show_in_nav_menu'.
      Bug fix: Fixed bug where the js file would not loaded.
    • 0.0.1 [7-27-2011]
      Initial release.

    License

    WPX Nav Menus is released under the GNU GPL 2.0 license and comes with absolutely no warranty. By downloading WPX Nav Menus you agree to the terms of the GNU GPL 2.0 license.

    47 Comments

    • gatespace gatespace

      こんにちは。
      WordPressのフォーラムから飛んできました。
      http://ja.forums.wordpress.org/topic/7556
      「そっちかー」とションボリした一人です。

      プラグインの報告になるので、こちらに書き込ませてもらいます。
      プラグインのファイル内で何カ所か「show_in_nav_menu」で判定されているところがありましたが、
      「show_in_nav_menus」に変更したところ動作しました。
      public が true なら show_in_nav_menusもtrueになるのに、外観→メニューには表示されなかったので気づきました。

      で、フォーラムにも書きましたが、
      上記変更後、表示はされたのに「メニューに追加」をクリックしても追加されませんでした。

      取り急ぎご報告します。

    • kz kz

      ありがとです!修正しましたー!

    • 【ブログ】WPX Nav Menus プラグイン http://bit.ly/nVMUv3 #wordpressjp

    • ええね! RT @kzxtreme: 【ブログ】WPX Nav Menus プラグイン http://bit.ly/nVMUv3 #wordpressjp

    • 【ブログ】WPX Nav Menus プラグイン http://bit.ly/nVMUv3 #wordpressjp

    • 【ブログ】WPX Nav Menus プラグイン http://bit.ly/nVMUv3 #wordpressjp

    • カスタムメニューにカスタム投稿タイプのアーカイブを追加する! / WPX Nav Menus  |  wpxtreme http://htn.to/BA9Nk

    • カスタムメニューにカスタム投稿タイプのアーカイブを追加する!

    • WPX Nav Menus http://t.co/JWQiNQP via @AddToAny

    • gatespace gatespace

      こんにちは!
      フォーラムにも書きましたが、0.0.2で今のところ問題なく動いています。
      これからいろいろ使い倒してみたいと思います。
      ありがとうございました!

      • kz kz

        おお!良かったです。投稿タイプアーカイブに限らず、ご要望等どんどんお寄せください。

    • カスタムメニューにカスタムポストタイプのアーカイブを追加するプラグイン。あー、これ今後絶対必要になってきそう / WPX Nav Menus http://j.mp/reJoNY

    • tkc49 tkc49

      こんちは!
      プラグインインストールさせて貰いました^^
      ありがとうございます!

      1点質問なんですが、カスタムメニューに固定ページのホームメニューを表示している場合、WPX Nav Menusプラグインで登録されたカスタム投稿タイプのアーカイブメニューを選択した時に、ホームにもcurrent-menu-itemが付与されてしまうのですが、他のメニューと同様にカスタム投稿タイプのアーカイブメニューを選択した場合でも、ホームにcurrent-menu-itemが付かないように出来ますでしょうか?

    • tkc49 tkc49

      すいません。
      今、色々調べて見たのですが、上記現象はプラグインが原因ではなく、私のサイトでの固有の現象みたいです・・・
      お騒がせして申し訳ございません。

      私のサイトでは、カスタムメニューにカテゴリーを追加し、そのカテゴリーのページにも関わらず、ホームにもクラスにcurrent-menu-itemが付いてしまう現象が起こってるみたいです。

      • kz kz

        こんにちは!それは謎現象ですね。。
        とりあえず、メニュー項目のホームを一旦削除して
        固定ページのホームを追加してみるとか!

    • @kzxtreme さっきのhas_archiveのやつ、「いつもはカスタムメニューで扱いたいから固定ページにしてるんですけど、それやらなくてもいい方法ありますか?」ってリプライしかけたところでコレのことを思い出しましたっ!!→http://t.co/Kk0niaGP

    • メニュー項目にカスタム投稿タイプのアーカイブを追加できる

    • メニュー項目にカスタム投稿タイプのアーカイブを追加できる / “WPX Nav Menus  |  wpxtreme” http://t.co/JXt9bHnR

    • "メニュー項目にカスタム投稿タイプのアーカイブを追加します。
      ※ has_archive, show_in_nav_menus 共に true のカスタム投稿タイプが対象です。
      カレントのメニュー項目に current-menu-item クラスが付きます。"

    • WPX Nav Menus | wpxtreme http://t.co/rQo6XLAC

    • @shinichiN @jim0912 kzさんのプラグインが参考になるかも。 http://t.co/2zbvvILe

    • こんにちは。

      0.0.2を使わせていただいております。

      24行目の
      if ( ! class_exists( ‘WPX_NavMenus’ ) && ‘nav-menus.php’ == $GLOBALS['pagenow'] ) {

      が僕の環境ですと、$GLOBALS['pagenow']が無かったようで、下記のようにして動きました。

      if ( ! class_exists( ‘WPX_NavMenus’ ) && ‘/wp-admin/nav-menus.php’ == $_SERVER['PHP_SELF'] ) {

      nginxだからかしら。。
      ご報告でございました!

    • このプラグインは便利です。ただ最初、どうしてもうまく動かなくてしばらく悩んだけど、管理画面のメニューの「表示オプション」の表示にチェックが入っていなかっただけでした。WPX Nav Menus http://t.co/PU26Wa9u @kzxtremeさんから

    • こちらでしょうか。http://t.co/hjUzhwUe RT @Webourgeon_com: @shinichiN ちなみにカスタムタクソノミーって、カスタムメニューにいれられましたよね?

    • カスタム投稿タイプのアーカイブへのリンクをカスタムメニューで表示させることができるプラグイン

    • これは便利そうだな、カスタム投稿タイプのアーカイブをカスタムメニューに追加するプラグイン / WPX Nav Menus http://t.co/dQlAGd34 @kzxtremeさんから

    • sudiooak sudiooak

      初めまして。studiooakと申します。
      フォーラムでgatespaceさんから、このプラグインを教えて頂き、ダウンロードさせて頂きました。ありがとうございます。

      一つ、不安なのですが、デバッグモードでプラグインを有効化すると、カスタムメニューの管理画面に以下のコードが出ます。
      Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or inithooks.
      プラグインを停止すると警告は消えます。
      一応、設定してみると(ローカルでの確認)正しく作動しています。表示画面にはメッセージは出ません。

      初めてのWordPressで、PHPの知識も皆無に近いので、どうとらえていいかわからず、
      フォーラムでgatespaceさんに相談してみると、noticeはあまり気にしなくてもよいとの事。
      気になるようなら、作者さんにご相談をと言う事でしたので、一応お聞きしてみる事にしました。
      よろしくお願いいたします。

      • kz kz

        おや!ウチだと出ないです。。とりあえず気にしなくて全然 OK です◎

    • sudiooak sudiooak

      お返事、ありがとうございます。安心しました。

    • tuki tuki

      tukiと申します。
      フォーラムで根を上げそうになっていたところでこちらに辿りつき、小躍りして導入いたしました。
      ありがとうございます。
      当方、全くの素人なので、こんなものに手を出すのではなかったと暴れそうなくらい、困っていたところです。

      さて、1点、こちらのプラグインだと、最新データが上に来るようにひょうじになりますが、
      あるカスタム投稿だけは、登録した順に表示させたいのです。つまり古い方が上に来る状態です。

      何かを変更すればうまくいくようであれば、ご指示いただけないかなとご相談に上がりました。
      よろしくお願いします。

      • kz kz

        カスタム投稿タイプの一覧で日付の降順に表示される、ということでしょうか。
        このプラグインでは表示順の指定はありませんので、別途テーマフォルダの functions.php に以下のように書くと良いです。
        < ?php
        add_filter( 'pre_get_posts', 'my_pre_get_posts' );
        function my_pre_get_posts( $query ) {
        if ( ! is_admin() && $query->is_main_query() ) {
        if ( is_post_type_archive( ‘ポストタイプのスラッグ名をココに書きます’ ) ) {
        $query->( ‘order’, ‘ASC’ );
        }
        }
        }
        ?>

    • tuki tuki

      早い回答ありがとうございます。
      早速追加しましたが、ブラウザのヘッドのあたりに、

      ————————
      is_main_query() ) {
      if ( is_post_type_archive( ‘check-lists’ ) ) {
      $query->( ‘order’, ‘ASC’ );
      }
      }
      }
      ?>
      —————————————
      ずらーっと表示されてしまいました。
      冒頭の「< ?」の間の半角をとってみたら、今度はWPの管理画面全体が真っ白に。。。。

      functions.phpの一番下に追加したのがいけなかったのでしょうか。。。

      • kz kz

        あら、余計なスペースが入ってしまいました。
        functions.php の一番下の ?> の下に追加なら良いはずです。
        どうにも解決しないようでしたら、ここのコメント欄ではシンドイので WordPress 公式フォーラムで質問してください。
        http://ja.forums.wordpress.org/forum/1
        そちらで回答しますね。

    • tuki tuki

      ありがとうございました。

      あちらはもっと上級の方がお話される場のような気がしますので、
      ぎりぎりと歯ぎしりしながらもう少し戦ってみます。
      どうにも悔しいので!!

    • wordpress、3日くらいうまくいかず、悩んでソースいじりまくってた。問題がプラグイン様で一瞬で解決した。
      http://t.co/8cqqKnZu

    • wordpress、3日くらいうまくいかず、悩んでソースいじりまくってた。問題がプラグイン様を使って一瞬で解決した。 http://t.co/8cqqKnZu

    • momoです。素晴らしいプラグインですね!なのに、有効化しても全く外観>メニューに出てきません。なぜでしょうか…泣

    • kaz kaz

      はじめまして。

      Custom Post Type UIで作ったカスタム投稿タイプに
      このプラグインを使ってアーカイブページを作りました。
      アーカイブページのタイトルを表示させたいのですが、
      どこで設定した値がタイトルに反映されるのでしょうか。

    • “WPX Nav Menus  |  wpxtreme” http://t.co/VjW4kM1u

    • メニューにカスタム投稿のアーカイブを追加

    • 便利なプラグイン、ありがとうございます。
      フォーラムから見つけてダウンロードして使ってみたんですが、
      追加はできますが、<img class="waiting" が出たままで、ドラッグ操作ができなくなっています。
      導入環境:wordpress3.5.1

    • coddledegg coddledegg

      はじめまして。coddledeggと申します。
      カスタム投稿をメニュー化したいと思い検索していたところ、
      フォーラムを経由してこちらのプラグインにたどり着きました。

      カスタム投稿のメニュー化は実現できたのですが、1点気になるところがあります。
      メニューに登録した内容のドラッグアンドドロップによる順序変更ができなくなってしまいます。
      プラグインを停止すると順序変更できるようになるのですが…。
      個人的にはその点だけ不便に感じています。

      仕様、もしくは既知の問題で現在解決に向けて修正中でしたらすみません。

    • 幸子 幸子

      こんにちわ。
      とても便利なプラグインありがとうございます!
      ただ、こちらを有効にすると、メニューの中身を移動させようとしてドラッグ&ドロップすると
      できなくなっています。
      プラグインを無効にするとうまくいくので、とりあえず、メニューに追加したあと無効にして移動させています。
      対応できるようでしたらお願いします><

    • なるなる

    • なるなる / “WPX Nav Menus  |  wpxtreme” http://t.co/oGr7LiUccs