-
Searching pages in WordPress 1.5
Update (march 6, 2004): David B. Nagle made a plugin which gives the same results as this hack, but does it the right way, using the plugin system. Use it instead of hacking as described below.
A few days ago version 1.5 of WordPress was released. One of the interesting new features is the addition of pages. You use pages for static content on a site, which means you can now use WordpPress to build a larger part of you site. Very useful.
But one thing I don’t understand is why pages are left out of search results? Through a thread on the support site I found a bug report that states
This is intended behaviour until we revamp search.
. So I looked for a solution.Hacking the search function
Warning: This describes a change to one of the core WordPress files. It may introduce bugs or unwanted side effects when used. I haven’t done much testing, but it seems to work ok.
I you decide to use this hack it’s your choice, you are responsible, not me. If you’re not comfortable with it don’t apply the change.To have the search function also return pages I changed
classes.php. You find this file in thewp-includesdirectory. On line 493 this piece of code starts:if ($this->is_page) { $where .= ' AND (post_status = "static"'; } else { $where .= ' AND (post_status = "publish"'; }Change it to the following:
// 2005-02-20, Rob Schluter: Hack to search posts & pages. if (!empty($q['s'])) { $where .= ' AND ((post_status = "static" or post_status = "publish")'; } else{ if ($this->is_page) { $where .= ' AND (post_status = "static"'; } else { $where .= ' AND (post_status = "publish"'; } } // end hackThat’s it, put the changed file on your server and the search should work for pages also.
2 Reacties
David B. Nagle 6-03-2005 (2:41)
Thank you for this hack! I liked it enough that I rolled it together into a plugin, Search Pages. I have a link in the plugin (and everywhere else) crediting you with the hack.
Kevin Haryett 6-03-2005 (8:16)
Awesome fix for a search dillema that I have hoped someone would come up with. It works well on my site. You should submit this to the Bug tracker for addition to the codebase.
Thanks