萨龙网络
登录
首页-WordPress文章-WordPress-正文

WordPress按自定义文章类型进行搜索

萨龙龙萨龙龙
WordPress
9年前
0
0
1.20W
WordPress按自定义文章类型进行搜索一般的Wordpress主题中都有多种自定义文章类型,除了了默认的文章还会有作品、商品等自定义类型的文章,而WordPress默认只能搜索到文章,对于自定义文章类型的文章需要我们进行判断,其实也可以在搜索中添加自定义文章类型,但是这些所有的文章类型都在一个页面显示,不好区分。 如果主题中有文章、作品与产品(Woocommerce插件),在搜索中就要对文章类型进行选择,同时搜索结果中显示该文章类型下的文章,实现的方法很简单: 1、一般的搜索表单:
  1. <form method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>" >
  2.   <input class="search-input" name="s" type="text" placeholder="站内搜索…" />
  3.   <input title="站内搜索" class="search-submit" type="submit" value="">
  4. </form>
2、添加文章类型选项的表单:
  1. <form method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
  2.     <select name="post_type" class="search-select">
  3.         <option value="post">
  4.             <?php _e( '文章', 'salong' ); ?>
  5.         </option>
  6.         <option value="portfolio">
  7.             <?php _e( '作品', 'salong' ); ?>
  8.         </option>
  9.         <option value="product">
  10.             <?php _e( '产品', 'salong' ); ?>
  11.         </option>
  12.     </select>
  13.     <input class="search-input" name="s" type="text" placeholder="站内搜索…" />
  14.     <input title="站内搜索" class="search-submit" type="submit" value="">
  15. </form>
<option value="post">中的“post”对应的是自定义文章类型,这样在搜索时就可以选项要搜索的文章类型。表单实现了,搜索结果中得显示对应的内容。

对搜索进行判断

  1. <?php $post_type=$_GET['post_type'];
  2. $located=get_template_part( 'content/search', $post_type );
  3. if ( isset( $post_type ) && locate_template($located$require_once) ) {
  4.     get_template_part( 'content/search', $post_type );
  5.     exit;
  6. }
  7. ?>
注意:“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年从江西骑行来到大理,现栖居于洱海边,食人间烟火,过简单生活,做简约设计!
1342.12M346.36W3.52W
分享:
AMH面板安装配置Memcached加速WordPress站点
AMH面板安装配置Memcached加速WordPress站点上一篇
让SI CAPTCHA Anti-Spam插件支持WooCommerce注册表单验证码下一篇
让SI CAPTCHA Anti-Spam插件支持WooCommerce注册表单验证码
相关文章
总数:107

WordPress MU多站点网络共享媒体插件Network Shared Media的使用包括特色图像

WordPressMU虽然是一个程序下可以创建多个站点,但每个站点下的文章、页面、媒体等还是独立的,MU也为不同的站点分配了不同的媒体目录。N…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.74W
0

Woocommerce+Buddypress+Bbpress商城社区论坛头像本地化

萨龙网络Purity主题是集成了Woocommerce+Buddypress+Bbpress商城社区论坛,因为www.gravatar.com头…
萨龙龙萨龙龙
Bbpress, Buddypress, WooCommerce, WordPress
10年前
0
0
1.58W
0

WordPress获取优酷视频缩略图

很多网站的视频都是来自在线视频网站,这样即节省网站空间也带来更高的访问速度,优酷视频是使用较多的。在添加视频文章时我们都想直接获取视频中的缩略图…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.17W
0

WordPress 主题禁用古滕堡编辑器和小工具

WordPress4.9.8版本就发布了古滕堡编辑器,很好用,添加文章也比经典编辑器方便很多。在5.8版本后又在小工具中增加了古滕堡编辑…
萨龙龙萨龙龙
WordPress
4年前
0
0
1.47W
0

WordPress 文章查询类 WP_Query 如何获取序列化数组中的文章

还是在开发导航类主题Slhao的时候遇到的问题,主题使用CodestarFramework专业版选项框架,文章的Metabox选项…
萨龙龙萨龙龙
WordPress
6年前
0
0
8.56K
0

CSS3 background-attachment:fixed实现滚动视差效果

一直都想设计一个有滚动视差效果的主题,而网上所有的介绍和有视差效果的主题都是使用jQuery来实现,而且由于视差背景图是一张满屏的大小,所以一直…
萨龙龙萨龙龙
WordPress
10年前
0
0
1.47W
0

WordPress通过分类ID获取分类名称与链接

在Wordpress主题开发的过程中,尤其是CMS主题分类的布局,通过后台选项(萨龙龙使用的都是Redux开源框架)选择分类,前台通过调用分类的…
萨龙龙萨龙龙
WordPress
9年前
0
0
1.69W
0

翻译WordPress强大实用的Redux框架选项

强大、实用的Redux框架我们已经在WordPress强大的开源后台框架ReduxFramework介绍与使用一文中介绍了,今天我们介绍下如何…
萨龙龙萨龙龙
WordPress, 软件系统
9年前
0
0
1.31W
0

WordPress 功能函数—— activate_plugins(激活多个插件)

描述 激活多个插件。 当WP_Error返回,但这并不意味着该插件的一个有错误。这意味着一个或多个插件文件路径无效。…
萨龙龙萨龙龙
WordPress Functions
6年前
0
0
7.97K
0

WordPress批量替换自定义域名称

WordPress自定义的强大不言而喻,很多主题都在使用,也为其创建了可视化的选项面板,用户使用都相当的直观、方便。萨龙网络新开发的LensNe…
萨龙龙萨龙龙
WordPress
9年前
0
0
8.79K
0

WordPress函数wp_nav_menu_items向菜单列表中添加搜索内容

Wordpress的菜单都是通过后台菜单来添加设置,很多时候需要添加一些功能到菜单,比如搜索,或者购物车,这时我们就可以使用wp_nav_men…
萨龙龙萨龙龙
WordPress
9年前
0
0
9.67K
0

WordPress + 宝塔面板速度优化方案 Memcached + Redis

WordPress网站的速度应该上每个站长必须关注的一个问题,对于刚使用WordPress的朋友,优化网站速度是比较困难的事情,找不到好的…
萨龙龙萨龙龙
WordPress, 建站技术
5年前
0
0
2.19W
0
评论表单游客 您好,欢迎参与讨论。
请输入昵称
请输入邮箱
请输入网址
0 / 100
评论列表
总数:0
萨龙网络
暂无评论,第一个评论下?