WP_QUERY帖子排序不起作用

时间:2018-01-31 作者:pv619

我正在尝试在最新版本中默认情况下为帖子添加前端排序,并添加两个链接选项1:Sort by Title 2:Sort by Date. 然而,我的问题是,对我来说,它不起作用。我试着在这里和谷歌上搜索答案this 非常相似的修复,我正在尝试遵循,但它不适合我。我已经尝试了很长时间,但它只是不想为我工作。

请查看我正在使用的代码:

<?php
$args= [
\'category_name\' => get_queried_object()->post_name,
\'order\'         => \'DESC\',
\'orderby\'       => \'date\'
];

if( isset( $_GET[\'sort\'] ) && "date" == $_GET[\'sort\'] ){
$args[\'orderby\'] = \'date\';
}

$A = new WP_Query( $args );

while ( $A->have_posts() ) {
$A->the_post();
echo \'<li>\' .get_the_title() .\'</li>\';
}

wp_reset_postdata(); /*instead of wp_reset_query?*/

/* 2nd Query Sort? */
$args2= [
\'category_name\' => \'Uncategorized\',
\'order\'         => \'ASC\',
\'orderby\'       => \'title\'
];

if( isset( $_GET[\'sort\'] ) && "title" == $_GET[\'sort\'] ){
$args[\'orderby\'] = \'title\';
}

$B = new WP_Query($args2);

// Loop 2?
while( $B->have_posts()) {
$B->the_post();
echo \'<li>\' .get_the_title() .\'</li>\';
}

//Restoring original post data
wp_reset_postdata();
?>

<a href="?sort=title">Sort By Title</a>
<a href="?sort=date">Sort By Date</a>

<?php query_posts($order.\'&order=DESC\');  ?>
我试图在ASC订单中添加“按标题排序”链接,在DESC订单中添加“按日期排序”,就像在最近的订单中一样。

在此问题上的任何帮助都将不胜感激。

1 个回复
SO网友:pv619

谢谢你,雅各布你的建议让我走上了正确的方向。

这解决了问题:

<a href="?orderby=title&order=ASC">Sort By Title</a>
<a href="?orderby=date&order=DESC">Sort By Date</a>
我如何在这里向上投票或添加+代表您?再次感谢兄弟:)

结束