一般的Wordpress主题中都有多种自定义文章类型,除了了默认的文章还会有作品、商品等自定义类型的文章,而WordPress默认只能搜索到文章,对于自定义文章类型的文章需要我们进行判断,其实也可以在搜索中添加自定义文章类型,但是这些所有的文章类型都在一个页面显示,不好区分。
如果主题中有文章、作品与产品(Woocommerce插件),在搜索中就要对文章类型进行选择,同时搜索结果中显示该文章类型下的文章,实现的方法很简单:
为搜索表单添加选项
1、一般的搜索表单:
- <form method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>" >
- <input class="search-input" name="s" type="text" placeholder="站内搜索…" />
- <input title="站内搜索" class="search-submit" type="submit" value="">
- </form>
2、添加文章类型选项的表单:
- <form method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
- <select name="post_type" class="search-select">
- <option value="post">
- <?php _e( '文章', 'salong' ); ?>
- </option>
- <option value="portfolio">
- <?php _e( '作品', 'salong' ); ?>
- </option>
- <option value="product">
- <?php _e( '产品', 'salong' ); ?>
- </option>
- </select>
- <input class="search-input" name="s" type="text" placeholder="站内搜索…" />
- <input title="站内搜索" class="search-submit" type="submit" value="">
- </form>
<option value="post">中的“post”对应的是自定义文章类型,这样在搜索时就可以选项要搜索的文章类型。表单实现了,搜索结果中得显示对应的内容。
对搜索进行判断
- <?php $post_type=$_GET['post_type'];
- $located=get_template_part( 'content/search', $post_type );
- if ( isset( $post_type ) && locate_template($located, $require_once) ) {
- get_template_part( 'content/search', $post_type );
- exit;
- }
- ?>
注意:“get_template_part( 'content/search', $post_type );”是获取主题根目录下的content目录下的search-$post_type.php文件,如果是文章,文件则为search-post.php,依此类推。
search-$post_type.php文件中的内容根据主题的情况而定,使用Woocommerce商城插件添加的自定义文章类型产品,不需要添加类似search-product.php文件,因为插件已经有这些文件。本文原创,作者:萨龙龙,其版权均为萨龙网络所有。
如需转载,请注明出处:https://salongweb.com/wordpress-custom-post-type-search.html
一个平平常常的人,热爱生活、旅行和摄影,骑行去过西藏,一直计划再去。14年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!WordPressMU虽然是一个程序下可以创建多个站点,但每个站点下的文章、页面、媒体等还是独立的,MU也为不同的站点分配了不同的媒体目录。N…萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛,因为www.gravatar.com头…很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…WordPress4.9.8版本就发布了古滕堡编辑器,很好用,添加文章也比经典编辑器方便很多。在5.8版本后又在小工具中增加了古滕堡编辑…还是在开发导航类主题Slhao的时候遇到的问题,主题使用CodestarFramework专业版选项框架,文章的Metabox选项…一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…在Wordpress主题开发的过程中,尤其是CMS主题分类的布局,通过后台选项(萨龙龙使用的都是Redux开源框架)选择分类,前台通过调用分类的…强大、实用的Redux框架我们已经在WordPress强大的开源后台框架ReduxFramework介绍与使用一文中介绍了,今天我们介绍下如何…描述
激活多个插件。
当WP_Error返回,但这并不意味着该插件的一个有错误。这意味着一个或多个插件文件路径无效。…WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…Wordpress的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_men…WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…