Products
GG网络技术分享 2025-03-18 16:07 6
如果您有一个包含大量内容和许多不同类别的网站,那么您的访问者很有可能希望在某些类别中进行搜索,而不是在其他类别中进行搜索。 此问题的解决方案是使您的站点可按各个类别进行搜索。
以下是手动执行此操作的方法。
另一种稍微复杂一点的方法是为您当前的搜索框提供“按类别搜索”功能。 我在 Deluxe Blog Tips 中发现了这个技巧。
将以下代码放入主题的 searchform.php 文件中。 (外观 > 编辑器 > 搜索表单 - searchform.php)如果您的主题没有 searchform.php 文件,您可以创建一个:
<form id="searchform" method="get" action="<?php bloginfo('url'); ?>"><input type="text" name="s" id="s" size="15" />
<?php wp_dropdown_categories('show_option_none=Select category'); ?>
<input type="submit" value="Search" />
</form>
然后将此代码放在functions.php 文件的底部。 (外观>编辑器>主题功能-functions.php):
add_action('pre_get_posts', 'search_by_cat');function search_by_cat()
{
global $wp_query;
if (is_search()) {
$cat = intval($_GET['cat']);
$cat = ($cat > 0) ? $cat : '';
$wp_query->query_vars['cat'] = $cat;
}
}
结果如下:
此方法的一个不错的功能是,当您在特定类别的类别页面上时,搜索框将自动切换到该类别以进行更多搜索。
Demand feedback