I decided to switch to WordPress so I could have categories in my blog and I could get RSS feeds on only one of them to be imported in different planets… But I had posts in both French and English in my Gentoo category. So I check if I could say “only take posts from category english and gentoo”… But if I select two categories, I get a union, not an intersection. So I wrote this little plugin. To have an intersection, you can do ?cat=x,y&intersect=1 … Example http://www.tester.ca/?cat=2,10&intersect=1 for my English & Gentoo posts. Also, this only works with category numbers.
File is here, dont forget to rename it .php to remove the .txt extension. Put in in wp-content/plugins/ and enable it..
Update: I just upgraded to 2.5 and I think it works as is. Please report any problems
You mean 2,10 of course.
On attend toujours ton travail de INF3300 Olivier…
Kenyon, of course, corrected, thanks 😉
Thanks so much. I’ve been playing with several other plugins to get this functionality. As I’m sure you are aware, you can interset more than two categories; e.g. /?cat=2,10,15&intersect=1.
yes yes.. you can intersect as many categories as you want…
Hi, this is exactly what I needed. I made a small change though to use $wp_query->query_vars instead of $_GET because I am using wordpress more as a CMS, and embedding certian categories in certian pages.
Has anyone used this plug-in with WP 2.0? And- what are the other plug-ins that Jason has tried?
Thanks
Hmm, I will port it to WP 2.0 when I move my blog over… I dont know when…
Hi-
Does anyone have a working example of this plug-in on their site? WP 1.5?
It doesn’t seem to work in 2.0 installs-
and I can’t tell on Tester’s site (because I’m a stupid American and only took one year of French).
Thanks!
Hi
First of all, thanks for this! (Not sure I fully understand how it gets called by just adding intersect paramater… but never mind, I’m not a php dev.)
I was wondering, would you have a variant of this that would return the NUMBER of posting in the given intersection. This would greatly help us to be able to see that amongst a list of complicated intersections, only x actually would yield data..
Many thanks
Benoit
I’m using WordPress 2.02 and have a lot of categories listed as children of other categories; these seem to be causing an issue with Intersect. Everytime I search on a category that has child categories, I get an SQL error WordPress database error: [Unknown table [VARIATION ON ‘p2c{i}’] in where clause] (“VARIATION ON” indicating where the error changes based on the number of categories chosen).
It seems it’s add in all the child categories of the chosen parent category to the WHERE part of the SQL statement, and choking on them (these extra tables not included in the JOIN part, so perhaps this is why?).
Obviously, my knowledge of php and SQL is remedial at best, so I hope this explains the issue I’m having clearly.
Thanks for the great plugin; hopefully I can get this worked out and obviously help is greatly appreciated!
— E
I’m having the same issue as E Becker above. When there are more than 2 levels of categories, it breaks the query. Here’s the error:
i wonder if this works on WP 2.1+
works very fine for me on 2.0, and i’d like to upgrade but intersect is a must for me so i need to know…
Do you have an example of how the plugin gets called? I am trying to call the “cat=2,19&intersect=1 within a query_posts parameter but it doesn’t work.
This is exactly how it should work… I can’t upgrade past 2.1 because my host doesnt have a recent enough version of mysql.
Will this work on 2.5?
I couldn’t get this plugin working for me on 2.5.1. But after then digging more in the codex I found this example that does work to create an intersection of 2 categories. The codex says this started with 2.3:
query_posts(array(‘category__and’=>array(1,3)));
Hi!
This would be incredible for my needs. I am using wp 2.6 and it doesn’t seem to work.
When I enter http://domain.com/?cat=3,6&intersect=1
the URL expands into http://domain.com/category/category3/?intersect=1
where it indeed shows category 3, but shows all posts, and not only those in categories 3 & 6.
Any suggestions?
Thanks
Peter
would you have a variant of this that would return the NUMBER of posting in the given intersection.
No, but the code is pretty simple.