I feel bad for answering my own question on here, but here's what I did.
I created a custom search template, a custom searchform.php
and changed my header.php
to reflect my custom search page.
What I did is rename the search box names to search
instead of s
to get around WordPress automatically running search.php
and coming up with a 404 error (still not sure why it happened, probably my fault in search.php
) and then used a new WP_Query while setting my arguments. While my solution does not provide anything more than a search term, it could be easily implemented to pull other key-value pairs into the arguments array.
searchform.php
<div class="search">
<form method="get" class="search-form" id="search-form" action="<?php bloginfo( 'url' ); ?>/search/">
<div>
<input class="search-text" type="text" name="search" id="search-text" value="Search this site" />
<input class="search-submit" type="submit" name="submit" id="search-submit" value="Search" />
</div>
</form>
</div>
search-template.php snippet
$s = wp_specialchars(stripslashes($_GET["search"]), 1);
$search_query = array(
's' => $s
);
$search = new WP_Query($search_query);
So essentially s
is now search
to get around WordPress automatically using search.php
.
If anyone has any questions, feel free to post a comment.
search.php
and no searchform, because the form is hardcoded into the theme (header.php
) Does WordPress only usesearch.php
to query posts? What are they technically displayed on?