Methode zur „Orderby'-Filterung (ASC und DESC) von WP_Query mithilfe von meta_query
P粉007288593
P粉007288593 2023-09-01 16:20:27
0
1
537

Ich versuche, Beiträge nach „DESC“ zu filtern, indem ich die benutzerdefinierten Metadaten „like_count_on_post“ verwende und dann alle leeren „like_count_on_post“ und „dislike_count_on_post“ sammle und schließlich nach „ASC“ von „dislike_count_on_post“ sortiere, aber ich kann nur Likes abrufen in absteigender Reihenfolge, oder wenn ich lösche:

'custom_field_value' => 'DESC'

Ich kann die aufsteigende Reihenfolge schrittweise abrufen, aber nicht beides gleichzeitig.

Abfrageparametercode:

$args = array( 'post_status' => 'veröffentlichen', 'post_type' => 'sveikinimai', 'meta_query' => array( „Beziehung“ => 'likes' => array( „Beziehung“ => 'custom_field_value' => array( 'key' => '_like_count_on_post_', ), 'custom_field' => array( 'key' => '_like_count_on_post_', 'compare' => 'NICHT EXISTIERT', ), ), 'mag nicht' => array( „Beziehung“ => 'custom_field_value_2' => array( 'key' => '_dislike_count_on_post_', ), 'custom_field_2' => array( 'key' => '_dislike_count_on_post_', 'compare' => 'NICHT EXISTIERT', ), ), ), 'orderby' => array( 'custom_field_value' => 'DESC', 'custom_field_value_2' => 'ASC' ), 'posts_per_page' => 'paged' => $paged, );

Update: Wenn Sie nicht vorhandene Metadatenfelder herausfiltern möchten, finden Sie hier den Code:

$args = array( 'post_status' => 'veröffentlichen', 'post_type' => 'meta_query' => array( „Beziehung“ => 'custom_field_value' => array( 'key' => '_like_count_on_post_', ), 'custom_field_value_2' => array( 'key' => '_dislike_count_on_post_', ), ), 'orderby' => array( 'custom_field_value' => 'DESC', 'custom_field_value_2' => 'ASC' ), 'posts_per_page' => 'paged' => $paged, );

P粉007288593
P粉007288593

Antworte allen (1)
P粉471207302

为了解决问题,我在所有帖子中添加了'like_count_on_post'和'dislike_count_on_post'元字段。过滤器正常工作,我认为当字段为空时不会解决,但是这里有代码使这些字段不为空:

add_action('save_post', 'add_post_custom_meta'); function add_post_custom_meta() { global $post; $post_id = $post->ID; update_post_meta($post_id, '_like_count_on_post_', 0); update_post_meta($post_id, '_dislike_count_on_post_', 0); }
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!