こんにちは
投稿タイプ(’page’,’post’)で昇順、日付で降順でどうでしょうか?
function my_search_custom( $query ) {
if ( !is_admin() && $query->is_main_query() ) {
if ( $query->is_search ) {
$query->set( 'orderby', array( 'post_type' => 'ASC', 'date' => 'DESC' ) );
}
}
}
add_action( 'pre_get_posts','my_search_custom' );
ありがとうございます。
あと、【r】から始まるカスタム投稿があります。
post → カスタム投稿 → pageとしたいです。
可能でしょうか?
よろしくお願いします。
post → カスタム投稿 → pageとしたいです。
固定ページが優先ではないのでしょうか?
post は投稿で、page は固定ページですが・・・。
とりあえず、サンプルのコードは、post->カスタム投稿->page の順としました。
固定ページを優先したい場合は、post と page を入れ替えてください。
また、コード内の「カスタム投稿」は実際のカスタム投稿タイプを記述してください。
なお、前回のコードは不要なので削除してください。
functions.php 等に
function my_search_posts_orderby( $orderby ) {
if( !is_admin() && is_search() ) {
$orderbys = array();
$orderbys[] = "CASE post_type WHEN 'post' THEN 1 ELSE 2 END";
$orderbys[] = "CASE post_type WHEN 'カスタム投稿' THEN 1 ELSE 2 END";
$orderbys[] = "CASE post_type WHEN 'page' THEN 1 ELSE 2 END";
$orderbys[] = 'post_date DESC';
$orderby = implode( ',', $orderbys );
}
return $orderby;
}
add_filter( 'posts_orderby','my_search_posts_orderby' );
勉強になりました。
postとpage逆でしたね^^;
ありがとうございます。