0
WP 게시물에 메타 변수를 설정했습니다. 이러한 변수별로 정렬 할 수 있기를 원하며 "보기"또는 "좋아요"별로 정렬 할 때를 제외하고 모든 것이 잘 작동합니다. 두 필드 중 하나를 기준으로 정렬 할 때 WP는 내 nav (wp_nav_menu)를 생성하지 않습니다.
나는 $의 wp_query 변수가 내 wp_nav_menu 호출을 둘러싼 "재설정"시도했습니다:
$old_query = $wp_query;
$wp_query = new WP_Query(array('post_type' => 'any'));
wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary'));
$wp_query = $old_query;
하지만 그것을 해결되지 않습니다. 작동하는 유일한 방법은 $ query-> query_vars [ 'meta_key']를 시작하는 행을 주석 처리하는 것이지만, 분명히 정렬을 무효화하는 것입니다.
도움을 주시면 감사하겠습니다.
// Before a query is run, modify the sort order
function jh_popularity_sort_query($query) {
$sort = $_GET['sort'];
if ($sort == "title") {
$query->query_vars['orderby'] = 'title';
$query->query_vars['order'] = 'ASC';
} else if ($sort == "date") {
$query->query_vars['orderby'] = 'date';
} else if ($sort == "views") {
$query->query_vars['meta_key'] = 'jh_page_views';
$query->query_vars['orderby'] = 'meta_value';
$query->query_vars['order'] = 'DESC';
} else if ($sort == "likes") {
$query->query_vars['meta_key'] = 'jh_page_likes';
$query->query_vars['orderby'] = 'meta_value';
$query->query_vars['order'] = 'DESC';
}
return $query;
} add_action('pre_get_posts', 'jh_popularity_sort_query');
정답을 찾으려면 더 많은 행운이 있습니다. http://wordpress.stackexchange.com/ – allaire
감사합니다. 나는 그것이 존재한다는 것을 깨닫지 못했다. –
이것을 http://wordpress.stackexchange.com/questions/52402/wordpress-menu-disappears-when-query-query-varsmeta-key-is-set으로 옮겼으나 나는 스스로 대답 할 수없고 닫을 수 없다. 나는 아직 그 대리인이 없다. –