標準のページ リストから簡単にドラッグ アンド ドロップするだけで、ページやその他の階層型投稿タイプを並べ替えることができます。
「ページ属性」をサポートするページやその他のカスタム投稿タイプを、組み込みのページ リストから直接ドラッグ アンド ドロップして注文します。
ページを目的の位置にドラッグ アンド ドロップします。新しい管理メニュー ページや、不格好で固定されたユーザー インターフェイスはありません。ページまたは投稿画面にドラッグ アンド ドロップします。
プラグインは「機能を認識する」ため、他のページを編集できるユーザー (編集者と管理者) のみがコンテンツを並べ替えることができます。
統合されたヘルプが含まれています。画面の右上にある「ヘルプ」タブをクリックします。
Internet Explorer 7 以前のブラウザには制限があるため、このプラグインは Internet Explorer 7 以前とは互換性がないことに注意してください。
手助けしたいですか?始めるには、貢献ガイドラインを確認してください。
一般的な投稿はメニューの順序ごとに表示されず、時系列ごとに表示されます。理論的には、以下を使用して、コード (テーマ function.php、プラグイン) の投稿にメニューの順序を追加できます。
add_post_type_support( 'post', 'page-attributes' );
はい。投稿タイプを登録するときに、 page-attributes
機能をサポート リストに含めます。これにより、ドロップダウンの上のフィルター リンクにSort by Order
オプションが追加されます。順序で並べ替えたら、コンテンツをドラッグ アンド ドロップできます。
'supports' => array( 'title', 'editor', 'page-attributes' ),
あるいは、投稿タイプを登録するときに、 hierarchical
true
に設定します。階層投稿タイプはメニューの順序に従ってネイティブに並べられます。
また、デフォルトのチェックの結果と投稿タイプ名を渡すsimple_page_ordering_is_sortable
フィルターを利用して、デフォルトの動作をオーバーライドすることもできます。
前の 2 つの回答を参照してください。サポートされている投稿タイプ機能のリストにpage-attributes
を追加するだけです。
このプラグインはフロントエンドの動作を変更せず、WordPress に保存されているメニューの順序を変更するだけです。
ページまたはカスタム投稿タイプのリストをその定義された順序で表示したい場合は、投稿クエリのorderby
パラメーターをmenu_order
に変更する必要があります (まだ変更していない場合)。
これはおそらく、コンテンツを新しい位置にドロップした後に AJAX リクエスト (サーバー側コード) が失敗したことを意味します。一部の共有ホストは積極的にタイムアウトし、AJAX リクエストを制限します。バージョン 2.0 はこれらのリクエストをバッチ処理するため、テーマの function.php 内のフィルターまたはカスタム プラグインを使用して、各リクエストで更新される項目の数を減らすことができます。
add_filter( 'simple_page_ordering_limit', function($number) { return 5; } );
ここで、5 は各リクエストでバッチ処理する項目の数です (デフォルトは 50)。この例では PHP 5.3 以降のコールバック関数を使用しているため、まだ PHP 5.2 を使用している場合は、従来のコールバックを追加する必要があることに注意してください。
この機能はすでに WordPress にネイティブに組み込まれていますが、少し奥まったところにあります。上部 (投稿オブジェクトのリスト上) の [画面オプション] タブをプルダウンすると、ページごとに表示するアイテムの数を指定できるフィールドがあります。これを複製するのはあまり良い習慣ではないと判断しました。
投稿タイプは、 simple_page_ordering_is_sortable
フィルターを使用して含めたり除外したりできます。
たとえば、 excluded_post_type
カスタム投稿タイプを除外するには、テーマ関数ファイルまたはカスタム プラグインに次のスニペットを追加します。
add_filter( 'simple_page_ordering_is_sortable', function( $sortable, $post_type ) {
if ( 'excluded_post_type' === $post_type ) {
return false;
}
return $sortable;
}, 10, 2 );
include_post_type
カスタム投稿タイプを含めるには、テーマ関数ファイルまたはカスタム プラグインに次のスニペットを追加します。
add_filter( 'simple_page_ordering_is_sortable', function( $sortable, $post_type ) {
if ( 'include_post_type' === $post_type ) {
return true;
}
return $sortable;
}, 10, 2 );
はい。プラグインは、REST エンドポイントsimple-page-ordering/v1/page_ordering
を登録します。
名前 | タイプ | 説明 | 必須 | デフォルト値 |
---|---|---|---|---|
ID | 整数 | 配置している投稿のID | はい | |
備える | 整数 | 配置したい投稿の前の投稿のID | はい | |
次のID | 整数 | 配置したい投稿の隣にある投稿のID | はい | |
始める | 整数 | 開始インデックス | いいえ | 1 |
除外する | 配列 | 除外する投稿IDの配列 | いいえ | 空の配列 |
タイプ | URL |
---|---|
役職 | /wp-json/simple-page-ordering/v1/page_ordering/?id=2&previd=13&nextid=14&excluded=[] |
安定版: 10up はこれに関する新しい機能を開発する予定はありませんが、バグ レポートやセキュリティ上の懸念には引き続き対応します。 PR は歓迎しますが、新機能を含むものは小規模で統合が容易なものである必要があり、重大な変更を含めないでください。それ以外の場合は、WordPress の最新バージョンまでテストを続ける予定です。
Simple Page Ordering に対するすべての注目すべき変更の完全なリストは、CHANGELOG.md に文書化されています。
弊社の行動規範の詳細については CODE_OF_CONDUCT.md を、弊社にプル リクエストを送信するプロセスの詳細については CONTRIBUTING.md を、そして、Simple Page Ordering のメンテナ、コントリビュータ、およびライブラリのリストについては CREDITS.md をお読みください。