Как исключить последнее сообщение из цикла сообщений WordPress

Хотите ли вы исключить последнее сообщение из цикла сообщений WordPress?? Это позволяет вам выбрать, хотите ли вы, чтобы ваша последняя запись в блоге...

Хотите ли вы исключить последнее сообщение из цикла сообщений WordPress??

Это позволяет вам выбрать, хотите ли вы, чтобы ваша последняя запись в блоге отображалась на главной странице, или на других страницах, где представлены ваши записи в блоге.

В этой статье мы покажем вам, как исключить последний пост из цикла постов WordPress.

Зачем исключать последний пост из цикла вывода постов WordPress?

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

Например, ваш первый пост может иметь другое форматирование или не быть релевантным для отображения в вашем блоге WordPress по умолчанию.

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

Метод 1. Исключение последнего сообщения из цикла сообщений WordPress путем добавления новой функции WordPress

Самый простой способ исключить последнее сообщение из цикла сообщений — это добавить код в файлы WordPress. Если вы не делали этого раньше, то ознакомьтесь с нашим руководством по копированию и вставке кода в WordPress.

Вы можете добавить приведенный ниже фрагмент кода в свои функции.php файл, в плагине для конкретного сайта или с помощью плагина code snippets.

function wpsites_exclude_latest_post( $query ) < if ( $query->is_home() && $query->is_main_query() ) < $query->set( 'offset', '1' ); > > add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );

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

add_action('pre_get_posts', 'myprefix_query_offset', 1 ); function myprefix_query_offset(&$query) < //Before anything else, make sure this is the right query. if ( ! $query->is_home() ) < return; >//Сначала определите желаемое смещение. $offset = 1; //Следующее, определите, сколько постов на страницу вы хотите (мы будем использовать настройки WordPress) $ppp = get_option('posts_per_page'); //Следующее, определите и обработайте пагинацию. if ( $query->is_paged ) < //Manually determine page query offset (offset + current page (minus one) x posts per page) $page_offset = $offset + ( ($query->query_vars['paged']-1) * $ppp ); //Примените корректировку смещения страницы $query->set('offset', $page_offset ); > else < //This is the first page. Just use the offset. $query->set('offset',$offset); > >

Этот фрагмент кода снова установит смещение на 1. Но это также добавляет смещение и вводит пагинацию. Здесь он указывает нашему архиву блога пропустить первое сообщение.

add_filter('found_posts', 'myprefix_adjust_offset_pagination', 1, 2 ); function myprefix_adjust_offset_pagination($found_posts, $query) < //Define our offset again. $offset = 1; //Ensure we're modifying the right query object. if ( $query->is_home() ) < //Reduce WordPress's found_posts count by the offset. return $found_posts - $offset; >return $found_posts; >

Последний сниппет кода определяет смещение еще раз. Кроме того, это гарантирует, что пагинация будет работать правильно.

После добавления приведенных выше фрагментов кода последний пост будет удален из цикла сообщений WordPress.

Метод 2. Исключение последнего сообщения из цикла WordPress Post Loop путем изменения файлов темы WordPress

Другой способ исключить последнее сообщение из цикла отображения сообщений WordPress — это добавить одну строку кода в файлы темы WordPress.

Это позволяет достичь результата, аналогичного приведенному выше коду, но вам нужно будет добавить его непосредственно в цикл WordPress, где вы хотите, чтобы он отображался.

Итак, если вы хотите изменить цикл отображения постов в масштабах всего сайта, то добавьте это в свой индекс.php-файл.

Примечание: Добавление этого кода в файлы WordPress может вызвать проблемы с пагинацией на вашем сайте.

Во-первых, вам нужно скопировать и вставить следующий код и добавить его в цикл WordPress.

query_posts('posts_per_page=6&offset=1');

Этот код использует параметр запроса и указывает циклу отображать только 5 сообщений, которые следуют за последним сообщением. Параметр смещения останавливает отображение самого последнего поста.

Он будет находиться непосредственно над циклом постов WordPress, поэтому будет выглядеть примерно так, как показано ниже.

query_posts('posts_per_page=6&offset=1'); if ( have_posts() ) : while ( have_posts() ) : the_post(); endwhile;

После того, как вы настроите и сохраните файл, вам нужно загрузить его в каталог тем в вашем аккаунте на хостинге WordPress.

Для этого вы можете использовать FTP-клиент или файловый менеджер в панели управления хостингом WordPress.

Если вы раньше не использовали FTP, то вам стоит ознакомиться с нашим руководством о том, как использовать FTP для загрузки файлов в WordPress.

После добавления кода последний пост WordPress будет исключен из цикла и не будет отображаться на странице вашего блога.

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

Источник: www.wpbeginner.com

Оцените статью
Добавить комментарий