我需要创建一个搜索表单,将显示从特定类别的搜索结果

时间:2017-04-05 作者:Shay S

我正在尝试创建一个自定义搜索框,它将根据我的选择显示特定类别的帖子。

将在搜索框中提交的每个术语将在一个类别数据中应用搜索,该类别数据将仅显示与该类别内的搜索术语匹配的帖子。

例如,我的WordPress站点中有一个音乐类别,常规搜索框显示所有类别的结果,然后自定义类别搜索框将仅显示音乐类别的结果。

如果你能帮助我,请回答我。

1 个回复
SO网友:Pim

您可以使用WP_query() 要缩小搜索结果的范围,请执行以下操作:

<?php $args = array(
    \'s\' => $_GET[\'s\'],
    \'post_type\' => array( \'post\', \'page\' ),
    \'post_status\' => \'publish\',
    \'category_name\' => \'music\',
    \'posts_per_page\' => -1
);
$custom_search = new WP_Query( $args );
if ( $custom_search->have_posts() ) {
    while ( $custom_search->have_posts() ) : $custom_search->the_post(); ?>
         <div class="entry-content">
            <h2 class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        </div>

    <?php endwhile;

} else { ?>
    <h2>Your search didn\'t return any results.</h2>
<?php } ?>

相关推荐

将架构添加到搜索结果页面的正文。已尝试使用IS_SEARCH

我正在尝试将架构标记添加到搜索结果页,并尝试使用以下代码:-function body_schema() { $schema = \'http://schema.org/\'; if(is_search()) { $type = \"SearchResultsPage\"; } else { $type = \'Blog\'; } echo \'itemscope itemtype=\"\' . $schema . $