0

我有一个我在我的网站上显示的自定义帖子类型列表。除了这些帖子类型,我在我的 WordPress 中添加了一个插件,它允许我为每个帖子类型添加一个竖起大拇指的评分系统,所以它看起来像这样:

https://i.imgur.com/jXR26i5.jpg

的代码如下所示:

<?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>

我有这些自定义帖子 + 他们的评分的列表,当然每个帖子都有一个单独的评分,我想在这些评分的值之后订购我的自定义帖子类型。我怎么能存档呢?

我知道评分的 meta_key 是 _thumbs_rating_up(因为我已经使用 ARI Adminer 插件修改了该值),我可以以某种方式使用此 meta_key 在评分的 meta_value 之后订购自定义帖子类型吗?

我对 PHP 和数据库很陌生。

4

1 回答 1

1

您已经在使用 WP_Query 来获取帖子,因此您可以在 $args 数组中指定要排序的 meta_key,例如

$query = new WP_Query( array(
    'post_type'  => 'motto',
    'meta_key'   => 'thumbs_rating_up',
    'orderby'    => 'thumbs_rating_up',
    'order'      => 'DESC'
));

请注意,您需要在meta_key和中包含键名orderby。我还假设您想按降序排序以首先显示最高评分。

参考:WP_Query 的 Wordpress Codex

另外,关于 meta_key 的注释
带有下划线前缀的 meta_keys 是私有的,并且对自定义字段隐藏,因此通常您会使用不带下划线的版本。这可能不是这里的情况,因为我假设不能在管理员中更改评级,但只需确保您需要使用的 meta_key 实际上是_thumbs_rating_up而不是thumbs_rating_up.

于 2017-10-20T18:33:07.733 回答