У меня есть список пользовательских типов сообщений, которые я показываю на моем сайте. В дополнение к этим типам постов, я добавил в свой WordPress плагин, который позволяет мне добавлять рейтинговую систему для каждого типа постов, чтобы она выглядела так:
Код для выглядит следующим образом:
<?php
/* The custom post types query */
$query = new WP_Query( array(
"post_type" => "motto",
"order" => "ASC",
));
while($query -> have_posts()) : $query -> the_post();
?>
/* Container with the ratings from the plugin + each post type */
<div id="motto-container">
<?=function_exists('thumbs_rating_getlink') ? thumbs_rating_getlink() : ''?>
<h3 class="abimottos">
<?php echo get_post_meta($post->ID, 'motto_titel', true); ?>
</h3>
</div>
У меня есть список этих пользовательских сообщений + их оценки, и, конечно, у каждого сообщения есть индивидуальный рейтинг, и я хочу заказать свои пользовательские типы сообщений после значения этих оценок. Как я могу заархивировать это?
Я знаю, что мета-ключ для рейтингов — это _thumbs_rating_up (поскольку я уже изменил значение с помощью плагина ARI Adminer), могу ли я каким-то образом использовать этот мета-ключ для упорядочивания пользовательских типов записей после мета-значения рейтингов?
Я довольно новичок в PHP и базах данных.
Вы уже используете WP_Query для получения сообщений, поэтому вы можете указать meta_key для сортировки в массиве $ args, например,
$query = new WP_Query( array(
'post_type' => 'motto',
'meta_key' => 'thumbs_rating_up',
'orderby' => 'thumbs_rating_up',
'order' => 'DESC'
));
Обратите внимание, что вам нужно включить имя ключа в оба meta_key
а также orderby
, Я также предполагаю, что вы хотите отсортировать в порядке убывания, чтобы сначала показать самые высокие оценки.
Ref: WordPress Codex для WP_Query
Также заметка на мета-ключе:
meta_keys с префиксом подчеркивания являются приватными и скрытыми от пользовательских полей, поэтому обычно вы используете версию без подчеркивания. Это может быть не так, потому что я предполагаю, что рейтинг не может быть изменен администратором, но просто убедитесь, что мета-ключ, который вам нужно использовать, на самом деле _thumbs_rating_up
и не thumbs_rating_up
,
Других решений пока нет …