通过另一个插件

时间:2017-10-20 13:50:03

标签: php database wordpress meta-key

我已经在我的网站上显示了自定义帖子类型列表。除了那些帖子类型,我在我的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和数据库的新手。

1 个答案:

答案 0 :(得分: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_keyorderby中包含密钥名称。我还假设您希望按降序排序,以便首先显示最高评级。

参考:Wordpress Codex for WP_Query

另外,关于meta_key的说明
带有下划线的meta_keys是私有的,并且隐藏在自定义字段中,因此通常使用不带下划线的版本。这可能不是这种情况,因为我认为管理员无法更改评级,但只需确保您需要使用的meta_key实际上是_thumbs_rating_up而不是thumbs_rating_up