Intereting Posts
Предельная контактная форма 7 крючок для конкретной формы Пагинация на index.php не работает на первой странице HowTo: добавление класса в список виджетов боковой панели Как изменить комментарии, которые будут отображаться в сообщении? Как динамически загружать контент в тело модального окна Bootstrap? Пользовательские размеры изображений для пользовательских загрузок полей Как сохранить данные из отправленной формы из виджета Почему WP_Query не ищет 2 'meta_query' ключи, разделенные символом ИЛИ? Статический просмотр страниц каждого пользовательского шаблона страницы Пользовательский статус сообщения не отображается в пользовательском типе публикации ВСЕ Категории в медиа-библиотеке Добавьте класс в ссылки в визуальном редакторе (как вернуть старый диалог) Вызов внешнего объекта в функции класса во время обратного вызова Как форматировать HTML-код короткого кода во внешнем файле Странные проблемы после восстановления после нарушения безопасности

WP Query имеет липкие сообщения сперва, с разбивкой на страницы и с совместным сообщением на странице с основным контуром

Я создаю сайт WordPress и немного прислоняюсь к стене при использовании WP_Query, он начался довольно просто, но затем липкие сообщения попали в микс, и становится все труднее контролировать.

Я использую сообщения по умолчанию, с категоризацией и циклизацией через сообщения (в настоящее время), подобные этому –

<?php // Query for sticky posts $sticky = get_option( 'sticky_posts' ); $the_query = new WP_Query( 'p=' . $sticky[0]); ?> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php // Sticky posts content the_title(); ?> <?php endwhile; wp_reset_postdata(); ?> <?php // Query for remaining posts wp_reset_query(); $categories = get_sub_field('category'); $args = array( 'post_type' => 'post', 'posts_per_page' => '2', 'ignore_sticky_posts' => 1, 'post__not_in' => array($sticky[0]), 'tax_query' => array( array( 'taxonomy' => 'category', 'field' => 'cat_id', 'terms' => $categories, ), ), ); $query = new WP_Query( $args ); if ( $query->have_posts() ) : ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <?php // Non-sticky posts content the_title(); ?> <?php endwhile; ?> <?php endif;wp_reset_postdata(); ?> 

На данный момент эта работа подходит для публикации липких сообщений, а затем продолжения работы с остальными сообщениями, но мне нужно заставить ее работать с немного большей функциональностью. Во-первых, на домашней странице мне хотелось бы только 2 сообщения, которые будут отображаться, но в настоящее время, если я устанавливаю сообщения на страницу до 2, он показывает липкие сообщения плюс 2 нефиксированных сообщения, я пытаюсь их отображать , например, если было 1 липкое сообщение, липкие сообщения и одна нелистная почта, или если нет липких сообщений, всего 2 нелиственных сообщения (я надеюсь, что это имеет смысл!). Итак, я думаю, это мой первый вопрос, я не совсем уверен, что это возможно?

Мой второй вопрос касается разбиения на страницы. На другой странице, где я показываю 2 сообщения выше, я ищу, чтобы отображать 6 сообщений на странице, а затем навигация для отображения следующих 6 и так далее. Это работает для первой страницы, но для следующих страниц она продолжает показывать липкий пост в верхней части каждой страницы, а не только первый, я не уверен, что это возможно, особенно, поскольку эта страница также имеет проблема показа 6 сообщений на странице плюс липкие сообщения, в отличие от 6 сообщений на странице, включая липкие сообщения. (Я собираюсь добавить код, который у меня есть для 6 на страницу + разбиение на страницы, это помогает!)

  <?php // Query for sticky posts $sticky = get_option( 'sticky_posts' ); $the_query = new WP_Query( 'p=' . $sticky[0]); ?> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php // Sticky posts content the_title(); ?> <?php endwhile; wp_reset_postdata(); ?> <?php // Query for remaining posts wp_reset_query(); $categories = get_field('categories'); $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $args = array( 'post_type' => 'post', 'posts_per_page' => '6', 'ignore_sticky_posts' => 1, 'post__not_in' => array($sticky[0]), 'paged'=> $paged, 'tax_query' => array( array( 'taxonomy' => 'category', 'field' => 'cat_id', 'terms' => $categories, ), ), ); $query = new WP_Query( $args ); if ( $query->have_posts() ) : ?> <?php // Non-sticky posts content the_title(); ?> <?php endwhile; wp_reset_postdata(); ?> <?php next_posts_link( 'Older Entries', $query->max_num_pages ); ?> <?php previous_posts_link( 'Newer Entries' ); ?> <?php endif; ?> 

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

Еще раз спасибо, Гарри.