Как заказать результаты по дате и мета-ключу?

Я использую wp-postratings для оценки сообщений, которые сохраняют рейтинг как ratings_score . Это дает вам возможность использовать r_sortby для заказа цикла по наивысшим рейтингам, но я хочу дать ему тренда, разделив $ rating_score «на сколько лет сообщение в днях. Так что-то вроде этого ..

 $ratings_score = get_post_meta($post->ID,'ratings_score',true); orderby = $ratings_score / days ago 

Как я могу это сделать?

Solutions Collecting From Web of "Как заказать результаты по дате и мета-ключу?"

Вы можете сделать это, отсортировав по расчетному коэффициенту. Деление рейтинга на дни дает хорошую отправную точку:

 rating/days = factor (eg 15/6 = 2.5 or 11/3 = 3.6) 

Вы можете сбалансировать это с вашими потребностями, умножив переменные (рейтинг и день) с любым фактором, который вам нравится.

Существуют способы реализации такого фактора:

  1. используйте wp-crons для ежечасного обновления коэффициента для каждого сообщения и сохранения значения в качестве постмета. Таким образом, вы можете легко использовать WP_Query и сортировать сообщения по meta_value_num.
  2. вычислить коэффициент непосредственно в вашей обратной петле
 $args = array( 'post_type' => 'product', 'numberposts' => -1, 'orderby' => 'meta_value_num', 'order' => get_query_var('order'), 'meta_key' => '_price' ); $lastposts = get_posts( $args );