BACKGROUND:
该网站是用于租赁物业的。所有者经常编辑属性的ID。为了解决这个问题,我必须创建一个自定义字段。他们需要归档页面上的顺序才能基于该自定义字段显示。
物业ID示例为1017 Seattle
在特定类别页面上,假期ID=2042,他们希望帖子的顺序按字母顺序排列,因此:
亚伯丁1092号,奥林匹亚1004号,西雅图1017号,城市名称实际上是定制的分类法,恰当地命名为“城市”
以下是“solve\\u order”函数的代码:
// Order the posts in archives page to DESC
add_action( \'pre_get_posts\', \'my_change_sort_order\');
function my_change_sort_order($query){
if(is_archive()):
//If you wanted it for the archive of a custom post type use: is_post_type_archive( $post_type )
//Set the order ASC or DESC
$query->set( \'order\', \'DESC\' );
//Set the orderby
// It was orderby ID, I changed to title so that it will display correctly for what Shannon was asking.
$query->set( \'orderby\', \'meta_value_num name\' );
$query->set( \'meta_key\', \'solve_order\' );
endif;
};
这是我的类别2042的代码。php页面
$args = array ( \'category\' => 2042, \'posts_per_page\' => 3, \'orderby\' => \'meta_value\', \'meta_key\' => \'vacation_order\', \'order\' => \'ASC\');
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post);
THE PROBLEM
出于某种原因,该函数正在覆盖假期页面上我的帖子的排序顺序。它显示3篇文章,或者不管我写了多少,但它仍然显示基于“solve\\u order”meta\\u键和“vacation\\u order”meta\\u键的文章。当我从函数中删除函数时。php,它排序正确,但破坏了网站的其余部分。
之前提出的一个问题与此类似,但答案意外地基于没有彻底阅读该问题,他们没有看到它基于is\\U author(),并认为它基于is\\U archive()。
THE GOAL
使其自动化,并根据假期类别页面上的自定义分类“城市”按字母顺序显示。
通过以下功能进行常规归档页面排序:http://onlocation.com/category/00001-airport-terminal/
试图通过城市分类法进行排序的特定于类别的页面:http://onlocation.com/category/00543-vacation-rental/