1. 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 the wp-includes directory. 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 hack
    

    That's it, put the changed file on your server and the search should work for pages also.