实现WordPress分类搜索功能代码

如何在WordPress中实现分类搜索功能

WordPress是一个强大的博客和网站建设平台,它允许您创建和管理各种类型的内容。在这篇文章中,我们将介绍如何添加分类搜索功能以提高您网站的用户体验。

步骤1: 创建搜索表单

第一步是创建一个搜索表单,它允许用户在网站上搜索分类。您可以在主题文件中的任何位置添加这个搜索表单,但是最好的方法是在sidebar.php文件中添加它,因为它将在整个网站中显示。这是搜索表单的代码:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
    <input type="text" name="s" id="s" placeholder="Search..." />
    <input type="hidden" name="post_type" value="post" />
    <input type="submit" value="Search" id="searchsubmit" />
</form>

请注意,我们在此搜索表单中添加了一个隐藏字段post_type来确保搜索仅返回帖子。

步骤2: 编写函数

接下来,我们将在functions.php文件中添加一个函数来处理搜索。此函数将创建一个新的查询,其中包括所有符合用户输入的搜索词和所选分类的文章。

function wpb_search_filter($query) {
    if ($query->is_search) {
        $query->set('post_type', 'post');
        if (isset($_GET['category'])) {
            $query->set('category_name', $_GET['category']);
        }
    }
    return $query;
}
add_filter('pre_get_posts','wpb_search_filter');

请注意,我们使用了pre_get_posts钩子来修改搜索查询。如果URL中包含类别参数,则该函数将使用category_name参数过滤帖子。否则,它将显示所有帖子。

步骤3: 显示分类下拉列表

最后,我们将在搜索表单之前添加一个下拉列表,允许用户选择要搜索的分类。这是下拉列表的代码:

<form role="search" method="get" id="searchform" action="<?php echo home_url( '/' ); ?>">
    <select name="category">
        <option value="">All</option>
        <?php 
        $categories = get_categories(); 
        foreach ($categories as $cat) {
            $option = '<option value="'.$cat->slug.'" ';
            if( isset($_GET['category']) && $_GET['category'] == $cat->slug ) {
                $option .= 'selected';
            }
            $option .= '>';
            $option .= $cat->cat_name;
            $option .= ' ('.$cat->category_count.')';
            $option .= '</option>';
            echo $option;
        }
        ?>
    </select>
    <input type="text" name="s" id="s" placeholder="Search..." />
    <input type="hidden" name="post_type" value="post" />
    <input type="submit" value="Search" id="searchsubmit" />
</form>

该代码将在搜索表单之前添加一个下拉列表,其中包含网站上所有分类的名称和帖子计数。如果用户选择某个分类,则URL将包含?category=slug参数。

步骤4: 运行代码

现在您可以保存这些更改并在网站上测试它们了。通过使用搜索表单和下拉列表,用户可以轻松搜索网站中的帖子,并根据分类过滤结果。

结论

在WordPress中添加分类搜索功能可以帮助用户更轻松地找到他们需要的信息。通过遵循上述步骤,您可以轻松地添加此功能并提高您网站的用户体验。

晓白博客网版权所有,原文地址https://www.xbnb.cn/5325
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容