0

从主页和类别页面,我的搜索表单工作得很好。尝试搜索“帖子”。

http://blog.papermusepress.com

它将带来结果。

但是,如果您尝试从单个帖子中进行搜索,则不会进行搜索。

在这里尝试:http: //blog.papermusepress.com/my-second-post/并搜索帖子,它不会进行实际搜索

有人知道它为什么会这样做吗?

/single.php/

<?php get_header(); ?>

        <div id="main">
            <div id="primary">
                <?php if(have_posts()) : while(have_posts()) : the_post(); ?>

                <div class="post-item">
                    <div class="title-tape">
                        <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                        <p class="meta">Posted by <?php the_author(); ?> on <?php the_date(); ?></p>
                    </div><!-- end title-tape -->
                    <?php the_content(); ?>
                </div><!-- end post-item -->

                <?php endwhile; ?>
                <?php else : ?>
                    <p>We aren't sure what you are looking for..</p>                
                <?php endif; ?>

                <div id="comments_template">
                    <?php comments_template(); ?>
                </div><!-- end comments_template -->



            </div> <!-- end primary -->

            <?php get_sidebar(); ?>
        </div> <!-- end main -->
    </div><!-- end wrap -->
<?php get_footer(); ?>
4

1 回答 1

3

我认为问题在于每次只应将搜索查询字符串添加到根 URL 时,它都会被附加到完整 URL。例如,如果您在 http://blog.papermusepress.com/my-second-post/上,则搜索将添加到该 URL 的末尾(而不仅仅是http://blog.papermusepress.com/),这仅允许搜索当前页面。这将保留当前模板并绕过搜索结果页面。

检查 searchform.php 文件中的表单操作。开始表单标记应如下所示:

<form method="get" id="searchform" action="<?php echo esc_url(home_url('/')); ?>">

如果您的表单有一个空操作,action="",它将发回给自己。这可能很有用,但绝对不是您想要的 wordpress 搜索。

于 2012-04-27T06:21:58.060 回答