/ / Custom WP_Query - игнорирани meta_query - персонализирани полета, wordpress

Персонализирано WP_Query - meta_query игнорира - custom-fields, wordpress

Бих искал да покажа някои "произведения на изкуството" със специфични мета ключови стойности. Всяко произведение има персонализирано поле: "votes_average" и още едно "votes_count". Това е персонализираната ми заявка:

$args = array(
"post_type" => "artworks",
"post_status" => "publish",
"orderby" => "meta_value_num",
"order" => "DESC",
"meta_query" => array(
"relation" => "AND",
array(
"key" => "votes_average",
"value" => "6",
"compare" => ">=",
"type"    => "DECIMAL",
),
array(
"key" => "votes_count",
"value" => "1",
"compare" => ">",
"type"    => "NUMERIC",
),
),
"tax_query" => array(
array(
"taxonomy" => "type",
"field" => "slug",
"terms" => $term
)
)
);

Не разбирам защо тази заявка показва картина със средно 5,8. Направих грешка?

Отговори:

0 за отговор № 1

Проблемът е, че MySQL е закръглен от 5.8 до 6 и се използва в заявката. Подходяща част от заявката изглежда

(wp_postmeta.meta_key = "votes_average" AND CAST(wp_postmeta.meta_value AS DECIMAL) >= "6")

Така че можете да замените DECIMAL с NUMERIC, за да разрешите този проблем.

    array(
"key" => "votes_average",
"value" => "6",
"compare" => ">=",
"type"    => "NUMERIC",
),