Customizing Search Queries
-
Hi,
I am trying to modify the default search results in my site.
There is a category called news.
When I am searching while from the news archive page or a news post then it should show results only from news category.
When I am searching from rest of the site, it should show results excluding the news. I am using a flag to detect the source page to detect if it was a news page or not. If it is a news page then the flag $is news would become 1 and if not it would be 0. But, somehow it is not setting the value and it is taking the default value 0.
Setting the flag is done by a function call
set_is_news(0);
This is the following code in functions.php
global $is_news; $is_news=0; function set_is_news($value) { global $is_news; $is_news=$value; } function exclude_category( $query ) { // The category_id is 1 for news global $is_news; if ( $query->is_home) { $is_news=0;} if ( $query->is_search ) { if ($is_news==1) $query->set( 'cat', '1' ); else $query->set('cat', '-1' ); $query->set('post_type', 'post'); } } add_action('pre_get_posts','exclude_category');
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘Customizing Search Queries’ is closed to new replies.