Intereting Posts
Как изменить цвет фона моего заголовка динамически на основе значения цвета пользовательских сообщений? Показывает ли WP, если я зарегистрирован в нескольких местах? Избежать столкновения имени класса при использовании сторонних библиотек в плагинах? сделать разбивку на страницы, показывающие записи по дате Отображать термины таксономии, условия для детей и должности в шаблоне Почему страница блога не показывает шаблон? Как получить мой плагин, написанный в php, для обновления самостоятельно каждые 5 минут? wp_get_attachment_image_src возвращает изображение в основном домене, false на субдомене get_comment_meta () для фильтра в плагине Динамически изменять заголовок страницы перед отображением заголовка Как я могу использовать wp_insert_comment для записи комментария при редактировании сообщения? Я хочу создать архив и одну страницу для пользовательской таксономии для пользовательского типа сообщения Получить имена категорий в качестве массива для использования в настройках темы Как запустить функцию со ссылкой WordPress запрос по категориям, отсортированный по пользовательскому полю

Как навигация работает в пользовательском цикле в рамках короткого кода?

Я использую короткий код для отображения пользовательского запроса. Штрих-код используется на странице. Все в порядке, только навигация, что я не могу заставить ее работать правильно.

Вот функция, которую я использую для отображения запроса, вызываемого по короткому коду:

$the_query = my_custom_query(); if($the_query){ if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br>'; endwhile; next_posts_link(); previous_posts_link(); //here I can't get it right. else : $return_string = 'no result'; endif; }else{ echo 'ordinary page';} 

previous_posts_link() и next_posts_link() не отображаются. Это потому, что короткий код находился внутри основного цикла страницы?

Обновить это функция для получения пользовательского запроса

 function my_custom_query(){ $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'post_type'=>any, 'posts_per_page'=> 1, 'max_num_pages'=> 10, 'paged'=>$paged, 'meta_query' => array('relation'=>'OR',array( 'taxonomy' => 'tax1', 'field' => 'slug', 'terms' => 'tax1term' )), 'tax_query' => array('relation'=>'OR',array( 'key' => 'metakey', 'value' => array(5,30), 'compare' => 'compare' )) ); $custom_query = new WP_Query( $args); return $custom_query; } 

ОБНОВЛЕНИЕ 2 Теперь я могу получить next_posts_link(); previous_posts_link(); next_posts_link(); previous_posts_link(); для отображения. Но проблема в том, что она связана с неправильной страницей. Результаты запроса остаются одинаковыми на каждой странице (независимо от того, является ли она следующей или предыдущей).

 $the_query = my_custom_query(); if($the_query){ if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br>'; endwhile; previous_posts_link('Previous',$the_query->max_num_pages); next_posts_link('Next',$the_query->max_num_pages); //here I added $the_query->max_num_pages,and they shows up. else : $return_string = 'no result'; endif; }else{ echo 'ordinary page';} 

Solutions Collecting From Web of "Как навигация работает в пользовательском цикле в рамках короткого кода?"

если вы посмотрите на previous_posts_link() и next_posts_link() в источнике , вы увидите, почему они не работают, они используют глобальные $paged и $wp_query vars для форматирования ссылок и определения того, появляются они или нет. вам придется сворачивать свою собственную paged max_num_pages вычисленных и max_num_pages vars в вашем пользовательском запросе.