Как изменить запрос для исключения сообщений путём?

Как я могу изменить свой запрос, чтобы исключить определенные сообщения путём? Является ли это возможным?

query_posts(array('category_name' => 'Mycat', 'posts_per_page' => -1)); 

Ty

Solutions Collecting From Web of "Как изменить запрос для исключения сообщений путём?"

Вы можете получить идентификатор сообщения из пули с помощью функции url_to_postid() :

 $ID = url_to_postid(slug); 

то просто исключите ID из вашего запроса:

 query_posts(array('category_name' => 'Mycat', 'posts_per_page' => -1, 'post__not_in' => $ID )); 

Вы можете создать массив идентификаторов сообщений, если вам нужно исключить несколько страниц.

Не используйте query_posts() ! , Фильтр pre_get_posts вместо *.

 <?php function wpse59617_filter_pre_get_posts( $query ) { // Only modify the main query if ( ! $query->is_main_query() ) { return $query; } // Get the ID of the post to exclude $slug = 'some-post-slug'; $post_id = url_to_postid( $slug ); // Modify the query $query->set( 'category_name', 'Mycat' ); $query->set( 'post__not_in', $post_id ); $query->set( 'posts_per_page', '-1' ); // Return the modified query return $query; } add_filter( 'pre_get_posts', 'wpse59617_filter_pre_get_posts' ); ?> 

* Нет, действительно: не используйте query_posts() . Вот почему .