Intuitive Custom Post Order

概要

Intuitive Custom Post Order

ドラッグアンドドロップの直感的な操作で、投稿記事とカテゴリーを並び替えることができるプラグインです。

管理画面の「設定 > 並び替え設定」メニューから並び替え可能なオブジェクトを選択することができます。

プラグインで設定した並び順をテンプレート側で上書きすることも可能です。
上書きする場合は WP_Query, pre_get_posts, get_posts, query_posts を使用してください。
get_posts を使用する場合は以下の注意事項があります。

注意: get_posts でデフォルトの並び順(orderby=date, order=DESC)に上書きした場合は、カスタムパラメーター(orderby=default_date)を指定する必要があります。

使い方

1. 並び替え対象のオブジェクトを選択

管理画面 › 設定 › 並び替え設定

2. 並び替え

投稿記事の並び替え(記事、固定ページ、カスタム投稿タイプ)

カテゴリーの並び替え(カテゴリー、タグ、カスタムタクソノミー)

より詳しく

ページングへの対応

2ページ目で並び替えを行っても、前後のページの並び順には影響を与えません。
並び替えは選択された記事同士で行われます。

ソート表示への対応

カテゴリーソートされた状態で並び替えを行った場合も、表示されていない記事の並び順には影響を与えません。
並び替えは選択された記事同士で行われます。

階層型の投稿タイプへの対応

階層型の投稿タイプの記事の並び替えも可能です。
親記事を並び替える時、子記事が追従していないように見えますが、リロードすればきちんと追従します。
もちろん子記事同士を並び替えることもできます。

FAQ

2ページ目の投稿記事を並び替える方法

1ページに表示されている投稿記事同士が並び替え可能です。
よって「表示オプション > ページごとに表示する項目数」を変更して並び替えたい記事同士を1ページに表示してから、並び替えを行ってください。

並び順の再上書き方法

プラグインで設定した並び順をテンプレート側でさらに上書きする方法です。

サブクエリ

‘WP_Query’ オブジェクトか ‘get_posts()’ を使って再上書きができます。

› WP_Query

<?php $query = new WP_Query( array( 'orderby' => 'date',
	'order' => 'DESC',
) ) ?>

› get_posts()

<?php $query = get_posts( array( 'orderby' => 'title',
) ) ?>

ただし、デフォルトの並び順(orderby=date, order=DESC)に上書きするためには、独自のパラメーター default_date を指定する必要があることに注意してください。
これは get_posts() を使う場合のみの注意点です。

<?php $query = get_posts( array( 'orderby' => 'default_date',
	'order' => 'DESC',
) ) ?>

メインクエリ

‘pre_get_posts’ アクションフックか ‘query_posts’ を使って再上書きができます。

› pre_get_posts

function my_filter( $query )
{
	if ( is_admin() || !$query->is_main_query() ) return;
	if ( is_home() ) {
		$query->set( 'orderby', 'date' );
		$query->set( 'order', 'DESC' );
		return;
	}
}
add_action( 'pre_get_posts', 'my_filter' );

› query_posts

<?php query_posts( array( 'orderby' => 'rand'
) ); ?>

ダウンロード

WordPress.org から最新バージョンおよび過去のバージョンをダウンロードできます。

GitHub にも公開しています。

寄付

Intuitive Custom Post Order はあなたの支援を必要としています。

Intuitive Custom Post Order があなたのお役に立っているなら、この機会に是非いくらかの寄付をご検討ください。
あなたからの寄付がプラグインの継続的な開発とより良いユーザーサポートの提供に役立てられます。




  • tiger

    こんにちは。こちらのプラグイン最高です。まさに必要なものでした。
    wordpressのバージョンを3.8に上げてしまったのですが、反映されなくなり、順番替えも効かなくなってしまいました。おそらくバージョンアップが原因かと思うのですが、どうにか対応が可能でしょうか。よろしくお願いします!!!

    • 確認します。
      少々お待ちください。

      • tiger

        お返事ありがとうございます。
        お手数おかけいたしますが、また利用できる様になるのを楽しみにしてますっ!

        • ver.3.8で確認したところ、不具合の再現性は確認できませんでした。
          詳細を教えていただけないでしょうか?よろしくお願いします。

          • tiger

            ご確認ありがとうございました!!!
            そうなんですね、、以下詳細です。

            ・管理画面、ドラッグで順替えは可能→更新F5→管理画面上は順替え反映されてます。
            ・固定ページにwhileで並べているのですが、どうも並び順が単純に投稿日時の逆(古いものが上)に並ぶ感じです。
            ・ドラッグで替えた順は、その固定ページでは反映されず(日付逆のまま動かず)

            です。

            何かこちらの他のプラグインや自作の何かが影響してるのかもです。
            また、心当たりもバージョン3.8のタイミングだとは思うのですが、気づいたのがそのタイミングだったのかもしれないです。。
            急いではいませんので、また何か解った時はぜひ教えてください。

          • nipper_onside

            WordPress 3.8にアップデートしたタイミングで同じような現象がありましたので、参考までに…

            カスタム投稿タイプ → 問題なく動作してます
            固定ページ → tiger さんと同じような症状

            並び順を orderby = menu_order と指定して解消しました。
            基本的に order や orderby を指定しなくても管理画面の並び順が反映され、order や orderby を指定するとそちらが優先されるという認識であってますよね。

          • バグフィックスしてver.2.0.7にアップデート致しました。
            ご迷惑おかけしました。

  • ななふし

    こんにちは。素晴らしいプラグインをありがとうございます。
    今回のバグフィックスで更に良くなりました!

    ちなみに私がフィックス前のバージョンで遭遇したバグは
    ver3.8において、get_posts()のパラメータ、post_typeにarrayでカテゴリーを渡して出力処理をした際に管理画面の順序指定ならびにorderby、orderの指定が無視され、古い順に並んでしまう、というバグでした。
    似た例も見当たらず、どうしたものかな、と思っていた矢先の修正だったのでとても助かりました!

    • ありがとうございます。
      今後も不具合や要望等あればご連絡いただけると助かります。

  • taro

    初めまして!大変すばらしいプラグインを大活用させて頂いております。
    1点だけ気づいたことがあったのですが、公開ページ側のサイドバーウィジェットすべてが
    古い日付順で並んでしまいます。

    こちらのプラグインを停止すると、通常の最新日付順で表示されます。
    何かしら影響しているのかなと思い質問させていただきました。

    私の環境だけかもしれないのですが、ご確認いただければと思います。
    よろしくお願いします。

    • 使用されているウィジェットを教えていただけますか?
      検証致します。

      • taro

        こんにちは。上記で記述した現象ですが、私が購入した有料テンプレートの「最近の投稿」ウィジェットで影響が見られるようです。なお、このウィジェットは販売者のカスタム版でした。

        ワードプレス標準の「最近の投稿」ウィジェットでは日付は新しい順で表示されております。

        ですので、こちらのプラグインが不具合となるようなことはありませんでした。
        「Intuitive Custom Post Order」と有料テンプレート、お互いの仕様がぶつかってしまう部分がある、ということで納得しようと思っております。

        テンプレート側のサポートにも問い合わせをして部分修正をしてもらったのですが、やはり仕組み上どうしても「Custom Post Order」との同時運用が難しいかもです。

        ということで、ワードプレス標準のウィジェットでは特に問題は起きていないと思います。
        何か不具合要因があるかのような記述をして申し訳ありませんでした。

        • 報告ありがとうございます。
          WordPress標準のウィジェットについて検証しておりますので、サードパーティ製のウィジェットについてはサポート外とさせていただきます。ご了承ください。

  • Gavin Klose

    Can you please send a version of 2.0.6 of Intuitive CPO for us to use as 2.0.7 and 2.0.8 are not working but we LOVED 2.0.6. Please see our and other support tickets for details (about the reverse order issue).

  • leo

    This plugin work good, but is possible get a query based in the order according you ICPO plugin and not as las date?….

    • Leo

      more notes: Because in some query from posts or custom post type posts, the posts are sorted by date, and will be good that this action be done by default making the drag and drop according the plugin… have more sense, thanks!

  • tazaki

    はじめまして。使いやすそうなのでインストールしてみました。そこで質問です。記事の順番をコントロールするにはタイトルにpost1とかpost2とかいう名前にしないとダメなのでしょうか?

    • 記事タイトルとは無関係です。管理画面上の並び順がそのまま反映されます。

  • Yo Yamamoto

    はじめまして、Yamamotoと申します。素的なプラグインをありがとうございます。
    WP Custom Searchプラグイン使用の検索結果ページ(テンプレートsearch.php)において、wp_nav_menu();で’menu’ => ”を指定しても、指定したメニューが出力されない問題に遭遇いたしましたのでご報告いたします。

    • wp_nav_menu関数にはフックしていませんので、おそらく無関係かと思われます。

  • sgrasso2012

    I too just rolled back to ver.2.0.6. The latest version was not working correctly. On a good note, ver.2.0.6 works great and has helped our site very much with our vendors.

    • Hi,
      please wait for repair edition a little.

    • ver. 2.1.0 Release.
      Please try this.
      Thanks.

  • またはDisqusに登録してください

    Hello Hijiri,
    Your plugin is very useful however it is interfering with the standard WP galleries. It becomes impossible to manually sort the photos once the plugin is activated. Is it possible to fix it?
    I’m using WP 3.9
    Regards,
    Fonda61

  • acl_kurosuke

    操作がシンプルでとても使いやすく気に入って使用させていただいております。
    ありがとうございます。
    最近1点だけ問題が発生しておりますので、ご質問させていただきます。

    テーマのindex.php または index.php に呼び出されているheader.php 等の中で
    $args = array(
    ‘category_name’ => ‘about’, ‘orderby’ => ‘date’,
    ‘order’ => ‘desc’
    );
    $the_query = new WP_QUERY($args);
    のように日付順に並べた場合に、プラグインのソートが優先されてしまう問題が発生しています。
    カテゴリー等に同じ記述をした場合、問題は発生しません。
    回避策などありましたらご教示いただけますと幸いです。
    どうぞよろしくお願いいたします。

    • 検証いたします

      • acl_kurosuke

        ありがとうございます。再現に何か必要な情報などございましたらお知らせください。幸い index.php では投稿をカスタム順にする必要が無かったため、ホームのみプラグインを切って対応しています。

    • TDDK

      当方も同様の症状です。
      当プラグインを有効化するとsidebar.phpの下記記述が無視されてしまいます。

      $args = array(
      ‘posts_per_page’ => 1,
      ‘post_type’ => ‘hogehoge’,//カスタムポストタイプ名
      ‘orderby’=>’meta_value’,
      ‘order’=>’ASC’,
      ‘meta_key’=>’fugafuga’,//ソート対象のカスタムフィールド名
      ‘meta_query’ => array(
      array(
      ‘key’ => ‘fugafuga’,//ソート対象のカスタムフィールド名
      ‘value’ => time(),//fugafugaはunix時間を入れたものなので。。
      ‘compare’ => ‘>=’,
      ),
      ),
      );
      $the_query = new WP_Query($args);

      このうち posts_per_page や post_type は効くのですが、order や meta_query は効いていないです。
      お忙しい事とは存じますが、何卒ご検討のほど、よろしくお願い致します。

  • inocchi_68

    こんにちは。プラグイン便利に使わせて頂いてます。ありがとうございます。

    1つ質問させて下さい。
    新着情報ページを制作したいのですが、
    『PHP Code for posts』プラグインを入れて固定ページにPHPを書けるようにし、
    下記のコードを入れたですが、更新順にならず、
    『Intuitive Custom Post Order』の並び順が優先されてしまいました。
    phpファイルに書いた時も同様でしたが、書き方が間違っていますでしょうか?
    「numberposts」は効いているのですが…よろしくお願いいたします。

    ‘modified’,
    ‘order’ => ‘DESC’,
    ‘numberposts’ => ’20’,
    );
    global $post; $lastposts = get_posts( $args ); //表示件数とカテゴリID
    foreach($lastposts as $post) :
    setup_postdata($post);
    $post_title = $post->post_title;
    if(mb_strlen($post_title)>40) { //記事タイトルの文字数
    $post_title = mb_substr($post_title,0,40).’…’;
    }
    ?>

    post_date)); ?>

    $diff1){
    echo’New!’;
    }
    ?>
    <a href="” id=”post-“>  ご参加いただきました。

    • inocchi_68

      すみません、コードが切れてしまいました。

      ‘modified’,
      ‘order’ => ‘DESC’,
      ‘numberposts’ => ’20’,
      );
      global $post; $lastposts = get_posts( $args ); //表示件数とカテゴリID
      foreach($lastposts as $post) :
      setup_postdata($post);
      $post_title = $post->post_title;
      if(mb_strlen($post_title)>40) { //記事タイトルの文字数
      $post_title = mb_substr($post_title,0,40).’…’;
      }
      ?>

      post_date)); ?>

      $diff1){
      echo’New!’;
      }
      ?>
      <a href="” id=”post-“>  ご参加いただきました。

      • inocchi_68

        すみません、自己解決いたしました!
        <?php の下に下記を入れたら直りました。
        お騒がせ致しましたm(__)m
        global $args;

  • Gavin Klose

    The plugin does not create a RSS feed code that has the posts in the re-aaranged order.

    Our blog is fed into other blogs but also into Campaign Monitor as RSS-to-Email campaigns but it is displaying in the default date order.

  • Gavin Klose

    BTW: we have some hack code that might help which fixes the problem (Posts in default order in RSS feed code) but causes other ones 😉

  • Grant

    Hi, I just installed it in Event Espresso and it allows me to move items but when I hit APPLY they revert back. I’m wondering if it is because it is in a sub -directory eg directory = SPONSORS, sub-directory = TIERS. Tiers does not show on the INTUITIVE CPO SETTINGS. Any ideas? Thanks

  • Kenny

    Hi, this is a useful plugin. While I activated this plug-in, the WordPress gallery does not work properly. The image cannot be shown. Please help to fix. Thank you.

  • 鈴木

    素晴らしいプラグインを開発して頂きまして有難うございます。
    大変重宝させて頂いております。

    get_posts() で、order,orderby が無視されてしまう現象が起きております。
    最新版(バージョン 3.0.7)を利用させて頂いております。

    何か解決策などございますでしょうか?

    $args = array(

    ‘numberposts’ => ‘-1’,
    ‘post_type’ => ‘page’,
    ‘order’ => ‘DESC’,
    ‘orderby’ => ‘date’,
    ‘tax_query’ => array(

    array(

    ‘taxonomy’ => ‘page_no_category’, //カスタムタクソノミー
    ‘include_children’=>false,
    ‘terms’ => array( ‘reading’ ),
    ‘field’ =>’slug’,

    )

    )

    );

    • 説明文にも記載させていただいておりますとおり、仕様上 get_postsはサポート外とさせていただいております。サブクエリを発行する際は WP_Queryオブジェクトを使用するようにお願いします。

      • 鈴木

        ご返信ありがとうございます。

        説明を熟読できておらず申し訳ありませんでした。

  • Masahiro

    はじめまして。
    こちらのプラグインが大変便利で助かっています。ありがとうございます。
    1点質問なのですが、複数カテゴリーが選択された場合の挙動です。
    複数カテゴリーを選択した場合は、カテゴリー毎には並べれないのでしょうか?
    プラグインは最新版を利用しています。よろしくお願いします。

    • “複数カテゴリーが選択された場合”というのはフロント側の話でしょうか?
      具体的なテンプレの記述を教えていただけますか?

  • Musanete Sakupwanya

    Hey! I like the idea of your plugin, for use with my one page format..
    But the plugin isn’t showing up in my settings. Any way I can troubleshoot this?
    I have 3.0.7

  • Gavin Klose

    Hi. We love your plugin. But we are finding it clashes with WP RSS Aggregator. When posts are fed in by RSS Aggregator some older existing posts appear above the newer fed posts when your plugin is activated. As soon as the plugin is deactivated the correct order is displayed.

    Is this a known issue? Is there an easy fix? If so we would like to pay you for it.

  • Lorenzo Puliti

    Hi, I would need to reorder posts in tag archives too, is it possibile to do it with this plugin?

  • disctest

    WP4.8へアップデートし、こちらのプラグインも最新へアップデートしました。
    その後、メデイアライブラリを開くとクルクルのアイコンが回りっぱなしになってしまいうまく動きません。こちらのプラグインを無効化すると直るのですが、、、

    • 再現性が確認できませんが、プラグインを最新版(v3.1.0)にアップデートしてみるといかがでしょうか?

  • 近藤有道

    スマホやタブレット等のタッチデバイスでも機能するようには出来ないのでしょうか?
    現状PCでしか並べ替え出来ないので、困っています。

    • そうですね、検討させていただきます。

      • 近藤有道

        ありがとうございます。
        どうぞよろしくお願いします。ヽ(`▽´)/