基于自定义字段值的订单 Wp 查询


Order Wp query based on a custom field value

我写了一个 wp 查询来列出基于 2 个键的自定义帖子类型(摩托车(。(可变和类型的品牌(查询有效并正确列出我的自定义帖子,但我想根据 3 个键值(即圆柱体(对它们进行排序("键 =>圆柱体"(我没有找到按查询中没有的特定自定义字段值排序的方法。这是我到目前为止的查询:

$args = array(
    'post_type' => 'motos',
    'posts_per_page'=> -1,
    'meta_query' => array(
        array( 
            'key' => 'categorie',
            'value' => 'Roadster'
        ),
        array( 
            'key' => 'marque',
            'value' => $meta_value 
        )
    )
);

[...]

谢谢你的帮助。

此致敬意。

您可以通过以下方式添加要排序的meta_key

$args = array(
    'post_type' => 'motos',
    'posts_per_page'=> -1,
    'meta_key' => 'cylindree',
    'orderby' => 'meta_value',
    'meta_query' => array(
        array( 
            'key' => 'categorie',
            'value' => 'Roadster'
        ),
        array( 
            'key' => 'marque',
            'value' => $meta_value 
        )
    )
);

试试这个,它对我有用:

global $wpdb;
$query = "
    SELECT  
        wp_posts.ID, pm1.meta_value AS your_custom_field
    FROM 
        wp_posts
    LEFT JOIN
        wp_postmeta AS pm1 ON (wp_posts.ID = pm1.post_id AND pm1.meta_key = 'name_of_custom_field_in_database')
    WHERE 
        wp_posts.post_type = 'your_post_type' AND 
        wp_posts.post_status = 'publish'
    ORDER BY your_custom_field
";
$posts = $wpdb->get_results($query);