我有一个WordPress博客,它使用了一个名为Alphabet的第三方主题(不再可用,似乎已被创建者删除:https://themeforest.net/item/alphabet-a-responsive-wordpress-blog-theme/14258651)
这个网站上没有网页,只有博客帖子。除非您在实际的帖子页面上使用搜索栏,否则搜索栏会正常工作。如果您在那里使用它,无论您的搜索查询如何,都会出现404错误。搜索结果查询附加到url的方式似乎不正确。
例如,如果使用主页上的搜索,则url设置如下:http://[my-site.com]/?s=test
如果您转到帖子并在那里使用搜索,url的设置如下:https://[my-site.com]/[sample-post-title]/?s=Culturalism
如果我更改url以排除帖子标题,那么搜索查询就会工作。如果这个第三方主题的搜索设置有问题,我不会感到惊讶,因为它没有按照WordPress标准正确设置。
这是搜索结果。php文件:
<!-- Start main_content -->
<div class="main_content container">
<!-- Start posts_sidebar -->
<div class="posts_sidebar clearfix <?php echo esc_attr($sidebar_position); ?>">
<!-- Start Sidebar -->
<?php if (alphabet_get_option(\'blog_archive_sidebar\') == \'Left\') {
get_sidebar();
} ?>
<!-- End Sidebar -->
<!--Start Posts Areaa -->
<div class="archive_areaa <?php echo esc_attr($fullwidth_position); ?>">
<div class="row">
<!-- post_header -->
<div class="post_header">
<h1><?php the_search_query(); ?></h1>
<span class="title_divider"></span>
</div>
<!-- // post_header -->
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- Start as_post -->
<article class="as_post">
<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<?php $format = get_post_format();
if (false === $format) {
$format = \'standard\';
} ?>
<?php get_template_part(\'includes/content\', $format); ?>
</div>
</article>
<!-- End as_post -->
<?php endwhile; ?>
<!-- Start pagination_post -->
<nav class="pagination_post">
<ul class="pager">
<li><?php previous_posts_link(); ?></li>
<li><?php next_posts_link(); ?></li>
</ul>
</nav>
<?php else : ?>
<p><?php esc_html_e(\'Sorry, no posts matched your criteria.\', \'alphabet\'); ?></p>
<?php endif; ?>
<!-- End pagination_post -->
</div>
</div>
<!--End Posts Areaa -->
<!-- Start Sidebar -->
<?php if (alphabet_get_option(\'blog_archive_sidebar\') == \'Right\') {
get_sidebar();
} ?>
<!-- End Sidebar -->
</div>
<!-- posts_sidebar -->
</div>
<!-- main_content -->
下面是搜索表单的代码(位于header1.php中--此主题有多个header.php文件,但这是博客使用的文件):
<!-- Start top_search_ico -->
<div id="top_search_ico">
<!-- Start top_search -->
<div class="top_search">
<form method="get"><input type="text" placeholder="<?php esc_html_e( \'Search and hit enter...\', \'alphabet\' );?>" name="s" id="s"></form>
<i class="fa fa-search search-desktop"></i>
</div>
<!-- End top_search -->
<!-- Start top_search_toggle -->
<div id="top_search_toggle">
<div id="search_toggle_top">
<form method="get"><input type="text" placeholder="<?php esc_html_e( \'Search and hit enter...\', \'alphabet\' );?>" name="s" id="s"></form>
</div>
<i class="fa fa-search search-desktop"></i>
</div>
<!-- End top_search_toggle -->
</div>
如果可能有用,我在博客上设置了永久链接的格式:
https://[my-site.com]/sample-post/