나는 사용자 정의 필드에 의해 모든 워드 프레스 아카이브를 분류하기 위해 노력하고있어 그래서 내 기능 파일에 작업을 추가,하지만 두 가지 문제가 있습니다워드 프레스 : 더 작은 이미지 사용자 정의 필드에서 아카이브를 정렬하지
- 그것은 보여줍니다 이 사용자 정의 필드가있는 게시물 만, 모든 게시물을 표시하고 싶지만, 먼저 whoch는이 필드를 가지고 있습니다.
- 게시물 미리보기 이미지가 표시되지 않습니다.
내 작업은 이것이다 : itzmekhokan 제안으로 나는 또한 시도했다
add_action('pre_get_posts', 'my_change_sort_order');
function my_change_sort_order($query){
if(is_archive())
{
// validate
if(is_admin())
{
return $query;
}
$query->set('meta_key', 'my_custom_field');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'DESC');
return $query;
}
};
이 :
$meta_query = array(
'relation' => 'OR',
array(//check meta_key exist
'key' => 'my_custom_field',
'compare' => 'EXISTS'
),
array(//if no meta_key exist
'key' => 'my_custom_field',
'compare' => 'NOT EXISTS'
)
);
$query->set('meta_query', $meta_query);
$query->set('orderby', 'meta_value_num');
$query->set('meta_key', 'my_custom_field');
$query->set('order', 'DESC');
:
다음$meta_query = array(
'relation' => 'OR',
array(//check meta_key exist
'key' => 'my_custom_field',
'compare' => '!=',
'value' => ''
),
array(//if no meta_key exist
'key' => 'my_custom_field',
'compare' => 'NOT EXISTS'
)
);
$query->set('meta_query', $meta_query);
$query->set('meta_key', 'my_custom_field');
$query->set('orderby', 'meta_value_num');
$query->set('order', 'DESC');
이 시도했습니다 항상 성공하지 못했습니다. Wordpress는이 필드가 설정된 게시물 만 표시합니다.
'OR'은 모든 데이터를 가져 오기 위해 @ Alessandro Pietrantonio –
감사합니다. yoru 답장 @ParthMahida하지만 "OR"로 전달해야합니까? –