如何从类别和标签中获取帖子的位置

时间:2017-05-26 作者:Laurana McInes

我正在尝试从类别和标签中获得职位。在我的网站上,所有类别和标签都是按元值排序的,元键是:option\\u overall\\u score

我的计划是显示一个类别和一个标签中帖子的位置。我已经花了几个小时在这上面了,但找不到方法来做。这里有一个类似的问题,但老实说,我对db的东西不太熟悉。

有什么简单的方法吗?

1 个回复
最合适的回答,由SO网友:Laurana McInes 整理而成

我解决了自己的问题。如果将来有人需要它,您可以使用以下代码:

$query = new WP_Query( array(
    \'cat\' => \'22\', 
    \'posts_per_page\' => -1, 
    \'orderby\' => \'meta_value\',
    \'meta_key\' => \'meta_key_here\',
    \'order\' => \'DESC\',
    \'fields\' => \'ids\'
));

global $post;

$i = array_search( $post->ID, $query->posts ) + 1; 

echo \'<div class="ranks">\';
echo \'<a href="/...">Post Ranking: </a>\'; 
echo "{$i}"; 
echo \'</div>\';
对于标记:

$query = new WP_Query( array(
        \'tag_id\' => \'22\', 
        \'posts_per_page\' => -1, 
        \'orderby\' => \'meta_value\',
        \'meta_key\' => \'meta_key_here\',
        \'order\' => \'DESC\',
        \'fields\' => \'ids\'
    ));

    global $post;

    $i = array_search( $post->ID, $query->posts ) + 1; 

    echo \'<div class="ranks">\';
    echo \'<a href="/...">Post Ranking: </a>\'; 
    echo "{$i}"; 
    echo \'</div>\';

结束

相关推荐

使用QUERY_POSTS()从循环中排除第一个POST(粘性或非粘性)

我正在使用query_posts( \'offset=1\' ); 将第一篇文章从循环中排除。但是,如果第一个帖子是粘性帖子,则会显示该帖子,而第二个(非粘性)帖子不会显示。是否有任何方法可以隐藏第一篇帖子,无论它是否有粘性?我不能使用ignore_sticky_posts 因为我只想隐藏第一个。谢谢你的帮助!