Category exclusion ignored for non-logged-in users
-
Hi
I’ve just installed Relevanssi and updated the settings to exclude one category and a number of other posts / pages from the results.
When a user is logged in, those are all removed from the results as expected. However, when logged out, the excluded category is included in the results.
I’m using Relevanssi on an s2member enabled site but I’d read somewhere that the two are compatible.
Any help or advice would be appreciated. Thank you.
-
Are the logged-out users using Relevanssi? I’ve seen that happen: logged-in users get one search and logged-out users get another. Check that. If you disable Relevanssi, do the results change for logged-out users?
Thanks for your reply.
Deactivating Relevanssi does change the results for logged-out users as the pages / posts that I excluded reappear in the results. However, the category that I wanted to exclude always appears in results for logged-out users (but not for logged-in users).
add_filter('relevanssi_where', 'rlv_show_restrictions'); function rlv_show_restrictions($q) { var_dump($q); exit(); }
Add this to theme functions.php and run a search both logged in and logged out. What does this print out?
Logged in:
string(1721) ” AND relevanssi.doc NOT IN (SELECT DISTINCT(tr.object_id) FROM wp_term_relationships AS tr WHERE tr.term_taxonomy_id IN (19)) AND relevanssi.doc NOT IN (7859,7552,0) AND relevanssi.doc != ‘3024’ AND relevanssi.doc != ‘6032’ AND relevanssi.doc != ‘7996’ AND relevanssi.doc != ‘345’ AND relevanssi.doc != ‘154’ AND relevanssi.doc != ‘9446’ AND relevanssi.doc != ‘8521’ AND relevanssi.doc != ‘7970’ AND relevanssi.doc != ‘1553’ AND relevanssi.doc != ‘1720’ AND relevanssi.doc != ‘6078’ AND relevanssi.doc != ‘7979’ AND relevanssi.doc != ‘7552’ AND relevanssi.doc != ‘136’ AND relevanssi.doc != ‘7928’ AND relevanssi.doc != ‘1672’ AND relevanssi.doc != ‘7986’ AND relevanssi.doc != ‘8527’ AND relevanssi.doc != ‘1546’ AND relevanssi.doc != ‘151’ AND relevanssi.doc != ‘6030’ AND relevanssi.doc != ‘7976’ AND relevanssi.doc != ‘10424’ AND relevanssi.doc != ‘8410’ AND relevanssi.doc != ‘160’ AND relevanssi.doc != ‘8085’ AND relevanssi.doc != ‘9334’ AND relevanssi.doc != ‘8414’ AND relevanssi.doc != ‘2080’ AND relevanssi.doc != ‘7859’ AND relevanssi.doc != ‘5265’ AND relevanssi.doc != ‘5580’ AND relevanssi.doc != ‘6028’ AND relevanssi.doc != ‘1665’ AND relevanssi.doc != ‘7661’ AND relevanssi.doc != ‘186’ AND relevanssi.doc != ‘1578’ AND relevanssi.doc != ‘1581’ AND relevanssi.doc != ‘1575’ AND relevanssi.doc != ‘10020’ AND relevanssi.doc != ‘1708’ AND relevanssi.doc != ‘1714’ AND relevanssi.doc != ‘338’ AND relevanssi.doc != ‘7542’ AND relevanssi.doc != ‘2558’ AND relevanssi.doc != ‘153’ AND relevanssi.doc != ‘2387’ AND relevanssi.doc != ‘4122’ AND ((relevanssi.doc IN (SELECT DISTINCT(posts.ID) FROM wp_posts AS posts WHERE posts.post_type IN (‘post’, ‘page’, ‘attachment’, ‘project’))) OR (doc = -1))”Logged out:
string(2092) ” AND relevanssi.doc NOT IN (SELECT DISTINCT(tr.object_id) FROM wp_term_relationships AS tr WHERE tr.term_taxonomy_id IN (15)) AND relevanssi.doc NOT IN (7859,7552,0,6028,553,744,326,3270,165,5239,999,1128,1247,1271,1333,1495,1821,1986,2246,2352,3163,3280,3425,3742,3744,4095,4223,4420,4585,4617,4721,5008,5134,5397,5428,5429,5846,6005,6167,6379,6452,6454,7170,7577,7817,7819,8763,8773,8893,8995,9148,9240,9680,9790,9793,10040,10237,10288,10393,10572,10571,10864,10714,5254,7996,8104,7976,9446,7986,7970,7979,9334,7928,7661,1665,6032,8521) AND relevanssi.doc != ‘3024’ AND relevanssi.doc != ‘6032’ AND relevanssi.doc != ‘7996’ AND relevanssi.doc != ‘345’ AND relevanssi.doc != ‘154’ AND relevanssi.doc != ‘9446’ AND relevanssi.doc != ‘8521’ AND relevanssi.doc != ‘7970’ AND relevanssi.doc != ‘1553’ AND relevanssi.doc != ‘1720’ AND relevanssi.doc != ‘6078’ AND relevanssi.doc != ‘7979’ AND relevanssi.doc != ‘7552’ AND relevanssi.doc != ‘136’ AND relevanssi.doc != ‘7928’ AND relevanssi.doc != ‘1672’ AND relevanssi.doc != ‘7986’ AND relevanssi.doc != ‘8527’ AND relevanssi.doc != ‘1546’ AND relevanssi.doc != ‘151’ AND relevanssi.doc != ‘6030’ AND relevanssi.doc != ‘7976’ AND relevanssi.doc != ‘10424’ AND relevanssi.doc != ‘8410’ AND relevanssi.doc != ‘160’ AND relevanssi.doc != ‘8085’ AND relevanssi.doc != ‘9334’ AND relevanssi.doc != ‘8414’ AND relevanssi.doc != ‘2080’ AND relevanssi.doc != ‘7859’ AND relevanssi.doc != ‘5265’ AND relevanssi.doc != ‘5580’ AND relevanssi.doc != ‘6028’ AND relevanssi.doc != ‘1665’ AND relevanssi.doc != ‘7661’ AND relevanssi.doc != ‘186’ AND relevanssi.doc != ‘1578’ AND relevanssi.doc != ‘1581’ AND relevanssi.doc != ‘1575’ AND relevanssi.doc != ‘10020’ AND relevanssi.doc != ‘1708’ AND relevanssi.doc != ‘1714’ AND relevanssi.doc != ‘338’ AND relevanssi.doc != ‘7542’ AND relevanssi.doc != ‘2558’ AND relevanssi.doc != ‘153’ AND relevanssi.doc != ‘2387’ AND relevanssi.doc != ‘4122’ AND ((relevanssi.doc IN (SELECT DISTINCT(posts.ID) FROM wp_posts AS posts WHERE posts.post_type IN (‘post’, ‘page’, ‘attachment’, ‘project’))) OR (doc = -1))”—
I wanted category 19 excluded from the search results.
Thank you
Hmm, the search for logged out users is excluding category 15, and a lot more individual posts.
Have you set the search to exclude category 15 anywhere? Where is that coming from? That may give you a clue why the logged out search has completely different parameters.
Category 15 is the protected category that s2member is hiding from logged out users, so that’s fine… however, Relevanssi doesn’t appear to be hiding category 19 from those users at the same time.
Ok, in that case I think the problem may be caused by s2member – perhaps the category exclusion for category 15 overrides the exclusion for category 19, perhaps it just plonks in a new tax_query without regarding the old one.
In that case I’d suggest removing the category exclusion from Relevanssi settings and doing it in other way.
Is anybody supposed to see the posts in the category 19 in search results ever? If so, there’s no point in keeping those posts in the index at all, so I’d move the exclusion from search to indexing, blocking those posts from the index completely. Then there’s no way they can appear in search results.
(The same goes to the long list of excluded posts you have – it would lead to a much simpler MySQL query, if those posts are removed from the index instead of being excluded from the search; Relevanssi Premium has a really nice “Exclude this post” checkbox on the edit pages for this, but you can do it from code with the free version.)
If that’s not possible, then you can do the exclusion from a filter function, adding the tax_query to the searches so that it doesn’t override or get overridden by other exclusions.
- The topic ‘Category exclusion ignored for non-logged-in users’ is closed to new replies.