I am tying to use the standard WordPress search, but when I attempted to search I am taking to an index instead of the search results. The search url seems correct: /?s=admissions
Search form
<form role="search" method="get" class="search-form" action="/">
<label for="search-form-5cb5f4940c0aa">
<span class="screen-reader-text">Search for:</span>
</label>
<input type="search" id="search-form-5cb5f4940c0aa" class="search-field" placeholder="Search …" value="" name="s" />
<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Search</span></button>
Search.php
<?php
/** * The template for displaying search results pages * * @link * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */
get_header(); ?>
<header class="page-header">
<?php if ( have_posts() ) : ?>
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyseventeen' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
<?php else : ?>
<h1 class="page-title"><?php _e( 'Nothing Found', 'twentyseventeen' ); ?></h1>
<?php endif; ?>
</header><!-- .page-header -->
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) :
/* Start the Loop */
while ( have_posts() ) : the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/post/content', 'excerpt' );
endwhile; // End of the loop.
the_posts_pagination( array(
'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>',
) );
else : ?>
<p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentyseventeen' ); ?></p>
<?php
get_search_form();
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
Any suggestions on what I am missing here?
Screenshot examples
.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
I am tying to use the standard WordPress search, but when I attempted to search I am taking to an index instead of the search results. The search url seems correct: https://example/blog/?s=admissions
Search form
<form role="search" method="get" class="search-form" action="https://example/blog/">
<label for="search-form-5cb5f4940c0aa">
<span class="screen-reader-text">Search for:</span>
</label>
<input type="search" id="search-form-5cb5f4940c0aa" class="search-field" placeholder="Search …" value="" name="s" />
<button type="submit" class="search-submit"><svg class="icon icon-search" aria-hidden="true" role="img"> <use href="#icon-search" xlink:href="#icon-search"></use> </svg><span class="screen-reader-text">Search</span></button>
Search.php
<?php
/** * The template for displaying search results pages * * @link https://developer.wordpress/themes/basics/template-hierarchy/#search-result * * @package WordPress * @subpackage Twenty_Seventeen * @since 1.0 * @version 1.0 */
get_header(); ?>
<header class="page-header">
<?php if ( have_posts() ) : ?>
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyseventeen' ), '<span>' . get_search_query() . '</span>' ); ?></h1>
<?php else : ?>
<h1 class="page-title"><?php _e( 'Nothing Found', 'twentyseventeen' ); ?></h1>
<?php endif; ?>
</header><!-- .page-header -->
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
if ( have_posts() ) :
/* Start the Loop */
while ( have_posts() ) : the_post();
/**
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( 'template-parts/post/content', 'excerpt' );
endwhile; // End of the loop.
the_posts_pagination( array(
'prev_text' => twentyseventeen_get_svg( array( 'icon' => 'arrow-left' ) ) . '<span class="screen-reader-text">' . __( 'Previous page', 'twentyseventeen' ) . '</span>',
'next_text' => '<span class="screen-reader-text">' . __( 'Next page', 'twentyseventeen' ) . '</span>' . twentyseventeen_get_svg( array( 'icon' => 'arrow-right' ) ),
'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyseventeen' ) . ' </span>',
) );
else : ?>
<p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentyseventeen' ); ?></p>
<?php
get_search_form();
endif;
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
Any suggestions on what I am missing here?
Screenshot examples
.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
Share
Improve this question
edited Apr 19, 2019 at 2:53
John Booz
asked Apr 16, 2019 at 15:36
John BoozJohn Booz
11 bronze badge
2
- Hi John! This sounds like a server configuration issue. Can you provide a copy of your htaccess or nginx file? – MikeNGarrett Commented Apr 16, 2019 at 16:13
- # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /blog/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /blog/index.php [L] </IfModule> # END WordPress – John Booz Commented Apr 17, 2019 at 1:15
2 Answers
Reset to default 0The problem was due to htaccess file that was in the root directory.
**`.htaccess`**
DirectoryIndex start.php
This was causing all of the index.php files to be changed to start.php. This filr did not exist in my wordpress directory. When I renamed the index.php to start.php in the wordpress installed sub directory the search started to work.
I removed the DirectoryIndex command from the root directory and changed start.php to index.php. Wordpress blog is now working correctly. Thanks, John
If your theme is using the standard searching process, then you need to create a Child Theme and then clone/edit the themes search.php file.
If you are using your own search form, then please describe how you are implementing it on your site.
Search forms (and results) are best coded through the search.php template in your theme. Using a Child Theme makes sure that any theme updates don't overwrite changes you make to the theme's search.php file.
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745543115a4632219.html
评论列表(0条)