我已经在使用一个小代码来设置默认的排序方式,一个名为“Year”的自定义字段。我需要添加另一个排序方式,以便在相同的排序中也按“Post Title”排序。
Sort = 年份自定义字段(DESC)和职位名称(ASC)
下面是我当前用于按年份DESC排序的代码。
add_filter(\'pre_get_posts\', \'sort_arc\');
function sort_arc($q) {
if ($q->is_category) {
$q->set(\'orderby\', \'meta_value_num\');
$q->set(\'meta_key\', \'the-year\');
$q->set(\'order\', \'DESC\');
}
return $q;
}
Thanx公司------------------编辑---------------------------------
停止工作的代码,如下所述
add_action(\'pre_get_posts\', \'check_meta_sort\');
function check_meta_sort($query) {
if( $query->is_admin == 1 ) {
return;
}
if( !$query->is_main_query() ) {
return;
}
if( !$query->is_archive == 1 ) {
return;
}
$custom_field = ( $_GET[\'sort\'] ) ? stripslashes( $_GET[\'sort\'] ) : \'\';
$custom_value = ( $_GET[\'sortorder\'] ) ? stripslashes( $_GET[\'sortorder\'] ) : \'\';
if( $custom_field ) {
$query->set( \'meta_key\', $custom_field );
$query->set( \'orderby\', $custom_field );
if( $custom_value ) {
$query->set( \'order\', $custom_value );
}
}
}