meta_query を使用した WP_Query の「orderby」(ASC および DESC) フィルタリングのメソッド
P粉007288593
2023-09-01 16:20:27
<p>カスタムメタデータ「like_count_on_post」を使用して「DESC」で投稿をフィルタリングし、空の「like_count_on_post」と「dislike_count_on_post」をすべて収集し、最後に「dislike_count_on_post」の「ASC」で並べ替えようとしていますが、いいねを取得することしかできません降順、または削除した場合: </p>
<ブロック引用>
<p>'custom_field_value' => 'DESC'</p>
</blockquote>
<p>ステップごとに昇順を取得できますが、両方を同時に取得することはできません。 </p>
<p>クエリパラメータコード: </p>
<pre class="brush:php;toolbar:false;">$args = array(
'post_status' => '公開',
'post_type' => 'sveikinimai',
'meta_query' => 配列(
「関係」 => 「そして」、
'いいね' => 配列(
「関係」 => 「または」、
'カスタムフィールド値' => 配列(
'key' => '_like_count_on_post_',
)、
'カスタムフィールド' => 配列(
'key' => '_like_count_on_post_',
'比較' => '存在しません'、
)、
)、
'嫌い' => array(
「関係」 => 「または」、
'カスタムフィールド値_2' => 配列(
'key' => '_dislike_count_on_post_',
)、
'custom_field_2' => 配列(
'key' => '_dislike_count_on_post_',
'比較' => '存在しません'、
)、
)、
)、
'orderby' => 配列(
'custom_field_value' => 'DESC',
'custom_field_value_2' => 'ASC'
)、
'posts_per_page' => 20、
'paged' => $paged、
);</pre>
<p>更新します。存在しないメタデータ フィールドを除外する場合は、次のコードを使用します: </p>
<pre class="brush:php;toolbar:false;">$args = array(
'post_status' => '公開',
'post_type' => 'sveikinimai',
'meta_query' => 配列(
「関係」 => 「そして」、
'カスタムフィールド値' => 配列(
'key' => '_like_count_on_post_',
)、
'カスタムフィールド値_2' => 配列(
'key' => '_dislike_count_on_post_',
)、
)、
'orderby' => 配列(
'カスタムフィールド値' => 'DESC',
'custom_field_value_2' => 'ASC'
)、
'posts_per_page' => 20、
'paged' => $paged、
);</pre></p>
この問題を解決するために、すべての投稿に「like_count_on_post」メタ フィールドと「dislike_count_on_post」メタ フィールドを追加しました。フィルターは正常に機能しますが、フィールドが空の場合は解決されないと思いますが、これらのフィールドを空にしないようにするコードは次のとおりです。 リーリー