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>
</인용문>
<p>단계별로 오름차순을 얻을 수 있지만 동시에 둘 다를 얻을 수는 없습니다. </p>
<p>쿼리 매개변수 코드: </p>
<pre class="brush:php;toolbar:false;">$args = 배열(
'post_status' => '게시',
'post_type' => '스베이키니마이',
'meta_query' => 배열(
"관계" => "그리고",
'좋아요' => 배열(
"관계" => "또는",
'custom_field_value' =>
'키' => '_like_count_on_post_',
),
'custom_field' => 배열(
'키' => '_like_count_on_post_',
'비교' => '존재하지 않음',
),
),
'싫어요' => 배열(
"관계" => "또는",
'custom_field_value_2' =>
'키' => '_dislike_count_on_post_',
),
'custom_field_2' =>
'키' => '_dislike_count_on_post_',
'비교' => '존재하지 않음',
),
),
),
'orderby' => 배열(
'custom_field_value' => '설명',
'custom_field_value_2' => 'ASC'
),
'게시물_페이지당' =>
'페이지됨' => $페이지됨,
);</pre>
<p>업데이트하세요. 존재하지 않는 메타데이터 필드를 필터링하려면 다음 코드를 따르세요. </p>
<pre class="brush:php;toolbar:false;">$args = 배열(
'post_status' => '게시',
'포스트 유형' => '스베이키니마이',
'meta_query' => 배열(
"관계" => "그리고",
'custom_field_value' =>
'키' => '_like_count_on_post_',
),
'custom_field_value_2' =>
'키' => '_dislike_count_on_post_',
),
),
'orderby' => 배열(
'맞춤_필드_값' => '설명',
'custom_field_value_2' => 'ASC'
),
'게시물_페이지당' =>
'페이지됨' => $페이지됨,
);</pre></p>
문제를 해결하기 위해 모든 게시물에 'like_count_on_post' 및 'dislike_count_on_post' 메타필드를 추가했습니다. 필터는 제대로 작동합니다. 필드가 비어 있으면 해결되지 않을 것 같지만, 다음은 이러한 필드를 비어 있지 않게 만드는 코드입니다. 으아악