Поддержка Проблемы и решения Не выводить запись в списке на главной, если дата публикации прошла

  • Мне нужно сделать на сайте «анонсы» событий, которые ещё не наступили. При создании записи, я указываю дату публикации записи, когда произойдет событие. С помощью плагина https://wordpress.org/plugins/the-future-is-now/#description я вывожу запись, с датой публикации, которая ещё не наступила, как мне сделать так, чтобы записи, у которых дата публикации уже прошла, автоматически не выводились?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • С помощью плагина https://wordpress.org/plugins/the-future-is-now/#description я вывожу запись, с датой публикации, которая ещё не наступила, как мне сделать так, чтобы записи, у которых дата публикации уже прошла, автоматически не выводились?

    Может просто стоило воспользоваться плагинами для событий?

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

    • Ответ изменён 6 лет, 9 месяцев назад пользователем tikul.
    • Ответ изменён 6 лет, 9 месяцев назад пользователем tikul.
    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Возможно, пригодится плагин Post Expirator.

    Не выводить запись в списке на главной, если дата публикации прошла

    Для этого достаточно изменить цикл WP
    Например, такой код

    function future_post_only( $query ) {
    	if ( $query->is_front_page() && $query->is_main_query() ) {
    		$query->set( 'post_status', 'future' );
    	}
    }
    add_action( 'pre_get_posts', 'future_post_only' );

    Можно поместить в functions.php (конечно помним, что все изменения, которые не хотим потерять при обновлении, делаем только в дочерних темах) или оформить плагином.

    автом. снятия с публикации, когда пройдет время

    А можно совсем все прошлые посты не показывать на сайте нигде

    function future_post_only( $query ) {
    	if(!is_admin()){
    		$query->set( 'post_status', 'future' );}
    	
    }
    add_action( 'pre_get_posts', 'future_post_only' );

    PS: Плагин можно совсем удалить

    • Ответ изменён 6 лет, 9 месяцев назад пользователем LenaV. Причина: дописала PS

    Спасибо, попробую

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Не выводить запись в списке на главной, если дата публикации прошла» закрыта для новых ответов.