この画像では、
1.黒字はデフォルトの投稿タイトルです
2. 'of'の前の数字はカスタムフィールドです。
.年の後の数字は投稿の公開年です
今、私はタイトルのアルファベット順に従ってこれをソートしたいです。したがって、この場合、C、D、D、L)になります。
同時に、私はそれを年ごとにソートしたいと思います。そのため、 'D'で始まるすべての投稿は投稿年でソートされる必要があります。
また、 'of'の前にくる数字は、その年の昇順で並べ替える必要があります。
以下のコードチャンクは動作しませんでした
$args = array(
'posts_per_page' => 30,
'category__in' => $idObj,
'paged' => $paged,
'meta_query' => array(
'relation' => 'AND',
'custom_key' => array(
'key' =>
'original_act_ordinance_information_0_act_ordinance_number',
'compare' => 'EXISTS',
'type' => 'NUMERIC',
),
),
'orderby' => array(
'title' => 'ASC',
'post_date' => 'DESC',
'custom_key' => 'ASC',
),
);
私はどこでミスを犯していますか?そしてこれを達成するための解決策はありますか?
編集:
だから基本的に私はこれが欲しい...
そのため、この画像はアルファベット順、すべての投稿は最新の年から最古の年の順に並べ替える必要があります。その間、同じ年に複数の投稿があるとします。)。 2016年の23日と2016年の18日。それらを昇順)で並べるようにします。
結論として、私は投稿を注文したいです。
アルファベット順
(アルファベット順)
(年次以内に)
同時に。
平和な世界では、ソートされた投稿は次のようになります。
私はあなたが達成しようとしている順序で完全に100%ではありません、しかし私はあなたがWP_Query
のためのドキュメンテーションをもう少し過ごす必要があると思います。 orderby
配列は、キーとしてwp_posts
テーブルOR meta_value
またはmeta_value_num
内の列の名前、notカスタムフィールドキーの名前を取ります(あなたの場合はcustom_key
)。カスタムフィールドの実際の名前は、args配列でmeta_key
として定義されています。
コーデックスの Orderbyパラメータの最後の2つの例 を見ると、これがどのように機能するかがわかり、それを状況に適用できます。これはテストされていませんが、あなたに一般的な考えを与えます:
$args = array(
'posts_per_page' => 30,
'category__in' => $idObj,
'paged' => $paged,
'meta_query' => array(
array(
'key' => 'original_act_ordinance_information_0_act_ordinance_number',
'compare' => 'EXISTS',
'type' => 'NUMERIC',
),
),
'orderby' => array(
'title' => 'ASC',
'post_date' => 'DESC',
'meta_value_num' => 'ASC',
),
'meta_key' => 'original_act_ordinance_information_0_act_ordinance_number',
);
あなたはまたあなたのmeta_query
が間違って設定されていたので、私はあなたがWP_Query
ドキュメントのその部分を同様にレビューすることを勧めます。