説明
投稿、ページ、カスタム投稿タイプ、タクソノミー、サイトを、シンプルなドラッグ&ドロップインターフェースで直感的に再配置できます。
Intuitive Custom Post Order は、WordPress 管理画面でシンプルなドラッグ & ドロップ操作により、アイテムの並べ替えを可能にします。
投稿、ページ、カスタム投稿タイプ、タクソノミー、および (マルチサイト環境では) サイトを並べ替えることができます。
Settings Intuitive CPO に移動し、並べ替え可能にしたいコンテンツタイプを選択してください。
有効化すると、リストテーブル内の項目をドラッグ & ドロップするだけで — 追加の設定は不要です。
テーマやプラグインでカスタムクエリーを作成する場合、ドラッグ&ドロップ順序を反映させるには orderby=menu_order と order=ASC を設定してください。
デフォルトの WordPress 順序 (日付順) を維持するには、明示的に orderby=date と order=DESC を設定してください。
ソースコードと開発は GitHub で利用可能です。
スクリーンショット
インストール
/wp-content/plugins/ディレクトリに ‘intuitive-custom-post-order’ フォルダーをアップロードします。- 「プラグイン」メニューからプラグインを有効化します。
- Settings Intuitive CPO に移動し、並べ替え可能にしたい投稿タイプまたはタクソノミーを指定してください。
- リストテーブル内の項目をドラッグ & ドロップするだけで、順番を変更できます。
FAQ
-
並べ替え機能を動作させるために、私のテーマを変更する必要がありますか ?
-
いいえ。有効化後、管理画面UIではアイテムを並べ替え可能となり、有効化された投稿タイプのフロントエンドクエリーは自動的に
menu_order ASC順に並べ替えられます — 明示的に独自のorderbyを渡さない限り。 -
私のカスタムクエリーでドラッグ & ドロップ順を尊重させるには、どうすればよいですか ?
-
あなたのクエリー引数で
orderby=menu_orderとorder=ASCを指定してください。WP_Query:
<?php new WP_Query( array( 'post_type' => 'your_cpt', 'orderby' => 'menu_order', 'order' => 'ASC', ) ); ?>get_posts():
<?php get_posts( array( 'post_type' => 'your_cpt', 'orderby' => 'menu_order', 'order' => 'ASC', ) ); ?> -
特定のクエリーに対して、日付順 (新しい順) で表示したいです。どうすればいいですか ?
-
明示的に設定します:
<?php new WP_Query( array( 'orderby' => 'date', 'order' => 'DESC', ) ); ?>プラグインは、get_posts() に対して、小さな切り替えをサポートします:
<?php get_posts( array( 'orderby' => 'default_date', 'order' => 'DESC', ) ); ?> -
関数 query_posts() は、サポートされていますか ?
-
メインクエリーを脆弱な方法で変更するため、WordPress コアでは query_posts() の使用は推奨されません。
代わりにpre_get_posts(推奨) またはWP_Queryを使用してください。メインブログページで pre_get_posts を用いて日付順を強制する例:
<?php add_action( 'pre_get_posts', function( $q ) { if ( is_admin() || ! $q->is_main_query() ) { return; } if ( is_home() ) { $q->set( 'orderby', 'date' ); $q->set( 'order', 'DESC' ); } } ); ?> -
これはタクソノミーとタームで動作しますか ?
-
はい。有効化されたタクソノミーでは、タームの順序を変更でき、フロントエンドにもその順序で表示されます。
カスタムタームクエリーを作成する際は、意図的に変更しない限り、順序をオーバーライドしないように注意してください。 -
マルチサイト: 「ネットワーク管理」で、サイトの順序を変更できますか?
-
はい。「ネットワーク」設定で有効化されている場合、サイトは
menu_order 昇順で並べ替えられます。「ネットワーク管理」画面でのドラッグ & ドロップ操作により、順序が更新されます。 -
投稿を、2ページ目から1ページ目の先頭に移動するには、どうすればよいですか ?
-
リストテーブルの右上にある「画面オプション」タブに移動し、「1ページあたりの項目数」を増やします。
こうすることで、並べ替えたいすべての項目が同じページに表示され、目的の位置にドラッグできるようになります。
評価
貢献者と開発者
変更履歴
3.2.0
- セキュリティ強化: すべての AJAX ハンドラーにおいて、CSRF/ノンス、権限チェックを統合し、JSON レスポンスを標準化しました。
- ネットワーク管理: マルチサイト設定用に、
manage_network_options権限および*_site_optionAPI に移行しました。 - リダイレクト処理の改善: リダイレクト後に
exit;を記述し、admin_url()/network_admin_url()を使用してください。 - 入力のサニタイズ: 厳密な比較演算子を使用して、
$_GET、$_POSTおよび$_SERVERの値の処理を強化しました。 - コードリファクタリング: カスタムバージョンの解析を
get_file_data()に置き換え、pre_get_postsの戻り値をクリーンアップしました。 - JavaScript: ソート機能の動作を改善し、成功/失敗のフィードバックを明確に表示できるようにするとともに、保存中は UI を非表示にし、
wp.a11y.speakによるアクセシビリティ通知を実装しました。 - UI/UX: ドラッグ & ドロップによる並べ替え操作中に、保存インジケーター (半透明の行 + 中央のスピナー) を追加しました。
- WordPress との互換性: WP v6.4以降で動作確認済みであり、WordPress コーディング標準 (WPCS) に準拠しています。
3.1.5.1
- バグの修正
3.1.4.1
- ‘hicpo_add_capabilities’ を修正しました: ロールが存在する場合にのみ、権限を追加します。
3.1.4
- セキュリティ上の問題を修正しました (@timohubois さん、ありがとうございます)。
CSRF を介した、任意のメニュー順序の更新。
Subscriber+ による、任意のメニュー順序の更新。
3.1.3
- 重複した注文を修復する機能を追加。
3.1.2.1
- このプラグインがテストされた WordPress のバージョンを更新。
3.1.2
- ドラッグ & ドロップのソート中にレイアウトが崩壊するという問題を解決。
3.1.1
- 廃止された関数 ‘secreen_icon()’ を削除。
3.1.0
- サイトをサポートする。
- アクティベーションの改善。
3.0.8
- ‘get_posts()’ の場合でも、’order’ または ‘orderby’ パラメータを使用するカスタムクエリが推奨されます。
注意: ‘get_posts()’ を使用してデフォルトの順序に再上書きする場合にのみ (orderby=date, order=DESC)、独自のカスタムパラメータ ‘orderby=default_date’ を使用する必要があります。
3.0.7
- このプラグインは上記のtranslate.wordpress.org翻訳システムにインポートされます。完全に翻訳されたローカルの言語パックも、このプラグインで有効になります(100%)。
3.0.6
- Support ‘next_post_link()’ and ‘previous_post_link(), etc.
- パラメータ ($in_same_term、$excluded_terms、$taxonomy) は、問題なく動作します。
3.0.5
- Fixed bug
- ページの menu_order の初期化。(orderby=menu_order、post_title、order=asc)
3.0.4
- ‘order’ または ‘orderby’ パラメーターを使用するカスタム クエリが推奨されます。
クエリのパラメータを優先するには、’WP_Query()’ または ‘query_posts()’ を使用する必要があります。
除外された ‘get_posts()’。 - Fixed bug
- ソート可能な JavaScript を有効にするか否かの決定。
- ページの menu_order を初期化。( orderby=post_title, order=asc )
3.0.3
- アクティベーションのパフォーマンス向上。
- カスタムタクソノミーの初期化を追加します。
- 更新方法のバグを修正。
- 注文を上書きし、注文が改善されました。(@newashと@anriettec のおかげ)
3.0.1 & 3.0.2
- バグの修正
3.0.0
- カスタムタクソノミー順番をサポート。
( wp_list_categories, get_categories, the_terms, the_tags, get_terms, get_the_terms, get_the_term_list, the_category, wp_dropdown_categories, the_taxonomies) - 管理 UI で並べ替えを行います。
並べ替え中に、ドラッグ & ドロップの並べ替え可能な Javascript は実行されません。 - 非公開オブジェクトをサポート (show_ui = true、show_in_menu = true)
- 日本語翻訳を追加。
2.1.0
- バグ修正: ‘order’ または ‘orderby’ パラメータを使用するカスタムクエリが優先されます。
- 引数の指定方法に依存しません ( パラメータ )。
( $args = ‘orderby=&order=’ または $args = array( ‘orderby’ => ”, ‘order’ => ” ) ) - 2.0.7, 2.0.8, 2.0.9に存在した不具合が改善されました!
- 2.0.6から2.1.0に更新してください。
2.0.9
- 管理者のパフォーマンスの向上。
致命的なパフォーマンスの問題が大幅に改善されました。 - バグ修正: アタッチメントオブジェクトは壊れていません。
- バグ修正: マルチサイトの警告表示が解決されました。
- バグを修正: まず項目を有効にする場合、項目の ‘メニュー順序’ が壊れにくい。
- ‘order’ または ‘orderby’ パラメータを使用するカスタムクエリが優先されます。
2.0.8
- 管理者のパフォーマンスの向上。
リフレッシュ方法 (すべてのメニュー順序を再構成する) は、アクティブなオブジェクトのリストページでのみ実行されます。
2.0.7
- バグ修正: WordPress 3.8用
- スウェーデン語の翻訳を追加する(by Thomas)
2.0.6
- ver.2.0.5を修正。
2.0.5
- ‘next_post_link()’ と ‘previous_post_link()’ をサポート (シングルからシングル)。
2.0.4
- バグの修正
2.0.3
- 直感的なCPO設定ページが[設定]メニューに移動しました。
2.0.2
- バグの修正
2.0.0
- ソートする対象を選択します。 (投稿、固定ページ、カスタム投稿)
- 固定ページと階層型カスタム投稿をサポート。
- ソート可能なアイテムのステータスは「公開」だけでなく、他のすべてのステータス(「保留」、「下書き」、「非公開」、「予約投稿」)です。
- ページングでは、それはすべて正常にアクティブ化されています。だから、’screen-per-page’ はユーザーのようなものです。
- カテゴリ (カテゴリ、タグ、タクソノミー) を並べ替えたリストでは、すべて標準で有効になります。
- 子投稿と子固定ページをサポートします。アイテムを並べ替えると、そのアイテム間の親アイテムの関係が維持されます。
1.2.1
- バグを修正しました
1.2.0
- 視覚的にクリアされた並べ替え可能な UI。(カーソルの変更など)。
- ソート可能なアイテムは垂直方向にのみドラッグできます。
- クイック編集メニューが有効になりました。
- 項目をドラッグするたびに、セルの幅が折りたたまれるわけではありません。
1.1.1
- バグの修正
1.1.0
- 1画面あたりのページ数は自動的に ‘999’に設定され、未設定よるトラブルを防ぎます。
- ‘get_posts’ や ‘query_posts’ などで ‘order’ または ‘orderby’ パラメータを使用するカスタムクエリを除外します。
1.0.0
最初のリリース





