如何按特定条件(即随机,最近的帖子,自定义字段等)对Wordpress帖子进行排序?

时间:2015-10-12 19:10:12

标签: wordpress sorting menu switch-statement toggle

我需要创建一个菜单,按最新,随机等方式对帖子进行排序。我没有在网上发现任何对我有用的东西。我想要一个这样的菜单:

<div class="sort">
   <a class="recent" href="?sort=recent">Recent</a>
   <a class="random" href="?sort=random">Random</a>
</div>

然后可以通过单击菜单链接来更改页面的输出。

1 个答案:

答案 0 :(得分:0)

我搜索并搜索过,找不到任何适用于我项目的内容;然后我突然意识到:切换语句。

创建一个简单的菜单:

<div class="sort">
   <a class="recent" href="?sort=recent">Recent</a>
   <a class="random" href="?sort=random">Random</a>
</div>

并添加switch语句:

$order = 'ASC';
$orderby = '';

switch ($_GET['sort']) {
    case 'recent':
        $order = 'DESC';
        $orderby = '';
        break;
    case 'random':
        $orderby = 'rand';
        break;
}

$args = array(
    'post_type' => 'entry',
    'order' => $order,
    'posts_per_page' => 20, // limit of posts
    'orderby' => $orderby,
);

然后按正常方式进行循环。这也适用于自定义字段!

'meta_key' => $metakey,    
'meta_query' => array(
        array(
            'value' => 'customfield'
        ),
    ),