Intereting Posts
WAMP для передачи XAMPP WordPress Меню страницы администратора продолжает прослушивать Объясните процесс импорта нескольких стилей для детских тем Как включить код только на определенные страницы? Почему плагины часто просят добавить <? Php do_action ('plugin_name_hook'); ?> в шаблоны? Авторы разделены по алфавиту Как выводить значения файлов PHP по короткому коду? Включить категорию в выпуск короткого кода Публикация удаленно в WordPress? WP REST API – получение содержимого со страницы Как я могу получить доступ к переменной PHP в другой функции PHP Используйте Gravity Forms и корзину для вывода на Freshbooks для оценки Что означает многостраничное приложение WordPress? Страницы с разбивкой по страницам, категориям, архиву и тегам не работают Как я могу вставлять виджеты по умолчанию, когда моя тема активирована (аналогично тому, что делает двадцать одиннадцать)?

Пользовательские циклы, липкие сообщения и кошмар с разбивкой на страницы

Я все пробовал. Я посмотрел на каждого. Один. вопрос. здесь, на StackOverflow, форуме помощи WP, googled на 10 страниц в глубину и буквально пробовал КАЖДУЮ комбинацию кода, которую я мог найти за последние 2 дня, и не могу заставить что-то работать, как я этого хочу. Неужели это невозможно? Цель кажется такой простой!

ЦЕЛЬ: сначала покажите ВСЕ липкие сообщения, а затем обычные сообщения после них – СОГЛАСИЕ.

Пример: с сообщениями на странице, установленными в 10, с 15 липкими сообщениями и 15 обычными сообщениями, страница 1 будет 10 липкими сообщениями, страница 2 будет состоять из 5 липких сообщений, а затем 5 обычных сообщений, а страница 3 будет иметь 10 обычных сообщений. Упорядочено по дате.

Я пробовал несколько циклов, различные запросы и пришел ЗАКРЫТЬ, но до сих пор нет сигары. Вот что я до сих пор:

<!-- THIS CODE QUERIES ALL POSTS AND RETURNS ONLY STICKY POSTS, DISPLAYED AT TOP OF THE PAGE --> <?php // show only ads within this specific category $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); //$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $sticky=get_option('sticky_posts'); $args=array( 'post_type' => 'my_custom_post_type', 'ad_cat' => $term->slug, 'caller_get_posts' => 1, 'post__in' => $sticky, 'posts_per_page' => -1 //'paged' => $paged ); query_posts($args); ?> <?php get_template_part( 'loop', 'post_featured' ); ?> <?php wp_reset_query(); ?> <!-- THIS CODE QUERIES ALL POSTS AND RETURNS ONLY REGULAR POSTS, DISPLAYED BELOW THE STICKIES --> <?php // show only ads within this specific category $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $sticky=get_option('sticky_posts'); $args=array( 'post_type' => 'my_custom_post_type', 'ad_cat' => $term->slug, 'caller_get_posts' => 1, 'post__not_in' => $sticky, 'paged' => $paged, ); query_posts($args); ?> <?php get_template_part( 'loop', 'post_normal' ); ?> <?php wp_reset_query(); ?> 

Вышеприведенное показывает ВСЕ липкие сообщения, а затем (5) обычные сообщения. Это ближайший я получил, но # 1, я не хочу показывать ВСЕ липкие сообщения на первой странице, я хочу придерживаться правил разбивки на страницы. # 2, ВСЕ липкие сообщения появляются на всех страницах с постраничным доступом. Так что, если у меня 50 липких сообщений и 50 обычных сообщений, каждая страница показывает 55 сообщений – первые 50 являются липкими сообщениями, а последние 5 являются нормальными, что не является моей целью (см. THE GOAL выше).

Есть ли легкая модификация одной или обеих петель? Должен ли я использовать двойной цикл или есть другой / лучший вариант для этого? Я открыт для предложений, пока я получаю его на РАБОТУ. Я должен отметить: я использую WP 3.2.1 и slimmed down-non-plugin pagination функцию, которая была взята из WP-PageNavi (полная функция разбиения на страницы можно увидеть здесь: http://paste2.org/p/1596821 ).

Любая помощь приветствуется!

@Chris_O прав … в настоящее время липкие сообщения не поддерживаются в пользовательских типах сообщений, поэтому он должен иметь какое-то отношение к теме, которую вы используете.

Теперь, не обращая внимания на проблему CPT … и полагая, что она работает так же, как и слова WordPress, то цель, которую вы описываете, – это именно то, как «липкие» сообщения предназначены для работы в wordpress (т. Е. Показывают все липкие сообщения перед показом обычные сообщения и придерживаться разбивки на страницы), поэтому из того, что я могу сказать, ваша проблема заключается в том, что вы пытаетесь создать два отдельных цикла. Чтобы отображать сообщения, которые вы хотите, чтобы они отображались, вы должны использовать только один цикл.

Вы пробовали просто запустить один цикл (т. Е. Удалить второй запрос и заменить первый с чем-то вроде ниже, чтобы узнать, добавляются ли эти листы автоматически)?

 $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; $args=array( 'post_type' => 'my_custom_post_type', 'paged' => $paged, 'posts_per_page' => 10 ); query_posts($args); get_template_part( 'loop', 'post_normal' ); 

Я бы совпадал с контуром шаблона с приведенным выше кодом.

А затем вставьте некоторое условие в 1-й цикл и 2-й цикл.

 if($paged == 1) { //Show Special Content for First } else if($paged => 2) { //Show Content for pages greater than 2 } 

Вероятно, это не сработает, но это определенно в правильном направлении, используя больше условий, чтобы получить нужные настройки.

Следовательно, я новый пользователь с этой учетной записью при обмене wordpress, я не могу отправлять комментарии и просить, чтобы вы объединили код с «get_template_part (« loop ») или шаблон цикла. Вероятно, я мог бы дать лучший ответ.