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