首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

没有插件的自定义帖子类型的Wordpress搜索

在WordPress中实现没有插件的自定义帖子类型的搜索功能,可以通过以下步骤来完成:

基础概念

WordPress允许用户创建自定义帖子类型(Custom Post Types, CPT),这些帖子类型可以拥有自己的数据库表和元数据。默认情况下,WordPress的搜索功能可能不会覆盖自定义帖子类型的内容,因此需要自定义搜索逻辑来实现这一点。

相关优势

  1. 灵活性:自定义帖子类型允许开发者创建符合特定需求的帖子类型,如产品、作品集等。
  2. 扩展性:通过自定义搜索功能,可以增强用户体验,使用户能够更方便地找到所需内容。
  3. 性能优化:自定义搜索可以针对特定需求进行优化,提高搜索效率。

类型与应用场景

  • 产品列表:电商网站中搜索不同类型的产品。
  • 作品展示:艺术家或设计师的个人网站上搜索不同类别的艺术作品。
  • 新闻分类:新闻网站上搜索不同类型的新闻报道。

实现步骤

以下是一个简单的示例,展示如何在WordPress中为自定义帖子类型添加搜索功能:

1. 创建自定义帖子类型

首先,需要在主题的 functions.php 文件中注册自定义帖子类型:

代码语言:txt
复制
function create_custom_post_type() {
    register_post_type('custom_post',
        array(
            'labels' => array(
                'name' => __('Custom Posts'),
                'singular_name' => __('Custom Post')
            ),
            'public' => true,
            'has_archive' => true,
            'rewrite' => array('slug' => 'custom-posts'),
        )
    );
}
add_action('init', 'create_custom_post_type');

2. 自定义搜索查询

接下来,需要修改WordPress的搜索查询,以包含自定义帖子类型的内容。可以通过 pre_get_posts 钩子来实现:

代码语言:txt
复制
function custom_search_filter($query) {
    if ($query->is_search && !is_admin()) {
        $query->set('post_type', array('post', 'custom_post'));
    }
}
add_action('pre_get_posts', 'custom_search_filter');

3. 更新搜索表单

确保搜索表单能够提交到正确的URL,以便触发自定义搜索逻辑:

代码语言:txt
复制
function custom_search_form($form) {
    $form = '<form role="search" method="get" id="searchform" action="' . home_url('/') . '" >
   <div><label class="screen-reader-text" for="s">' . __('Search for:') . '</label>
    <input type="text" value="' . get_search_query() . '" name="s" id="s" />
    <input type="hidden" name="post_type" value="any" />
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search') .'" />
    </div>
    </form>';
    return $form;
}
add_filter('get_search_form', 'custom_search_form');

可能遇到的问题及解决方法

  • 搜索结果不准确:确保 pre_get_posts 钩子中的逻辑正确无误,并且已经包含了所有需要搜索的帖子类型。
  • 性能问题:如果网站内容量很大,自定义搜索可能会影响性能。可以考虑使用缓存机制或优化数据库查询来提高效率。
  • 兼容性问题:确保自定义代码与当前使用的WordPress版本和其他插件兼容。

通过以上步骤,可以在不使用任何插件的情况下,为WordPress的自定义帖子类型实现有效的搜索功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

最强大的 WordPress 搜索插件:Search Everything

如果没有自定义关键字回复,微信机器人 WordPress 插件高级版就会自动去搜索博客中的日志,然后图文方式展现给用户,微信机器人这个搜索的过程是使用 WordPress 默认的搜索进行搜索的,只会搜索文章的标题和内容...,但是一些用户对此并不满足,希望能够通过更多的方式(比如标签,分类,作者,自定义字段等)去检索相关的文章,这个时候怎么办,怎么去加强 WordPress 的搜索功能呢?...Search Everything 这里推荐最强大的 WordPress 搜索插件 Search Everything,无需修改任何模板文件就可以大大的加强 WordPress 的默认搜索,它主要功能有...还可以自定义搜索结果高亮样式。 并且还能让你排除特定的页面和文章。...安装 Search Everything 之后,发现微信机器人的搜索并没有改变,还是只是对标题和内容进行搜索,进过简单的 Debug,发现微信机器人插件为了提高效率,太早跳出 WordPress 主程序

49420
  • wordpress 搜索结果去除 Simple Urls 插件产生的短链接

    朋友的 wordpress 使用了 simple urls 插件来做外链转内链的工作,确实很方便,但是有一个弊端,就是在博客中搜索关键词的时候,搜索结果中就会出现 simple urls 插件生成的短连接...,这样的搜索结果不是用户想要的,所以用户体验很差。...为了避免这个问题魏艾斯博客找到了@欲思博客提供的一段代码,可以去除 wordpress 搜索结果中 Simple Urls 插件产生的短链接。...如果想要去除 Simple Urls 插件产生的全部短链接,可以使用下面代码: //搜索结果排除所有页面 function search_filter_page($query) { if ($query...通过以上的方法终于去除了 wordpress 搜索结果中 Simple Urls 插件产生的短链接,之前朋友被搜索结果中的短连接搞的很苦恼,已经在考虑手动添加代码来实现外链转内链功能了,用了这段代码以后

    79920

    WordPress 初学者词汇表(术语解释)

    Post Type(帖子类型) 帖子类型是一种在您的网站上构建内容的方式。例如,“博客”是一种帖子类型,“员工”或“作品集”也是如此。...免费插件可以从您的 WordPress 仪表板中的Plugins > Add New轻松安装。只需搜索插件的名称或您正在寻找的功能。然后点击安装并激活——就是这样!...根据您的 WordPress 主题(或页面构建器),侧边栏通常是左侧或右侧的垂直列,尽管根据帖子类型或页面,某些设计可能具有两个侧边栏甚至自定义侧边栏。...这可以包括上传自定义徽标、选择主要网站强调色、创建菜单、添加小部件、自定义帖子类型设置等等。此部分可以在外观 > 自定义下的 WordPress 主仪表板中找到。...Jetpack Jetpack是核心 WordPress 多合一插件,包括用于安全、网站备份、站点搜索、社交链接等的模块。

    7.2K20

    Sticky Posts Switch插件教程WordPress中为分类添加置顶文章

    在本文中,我们晓得博客将向您展示如何在WordPress中为类别添加置顶文章。 注意:Sticky Post仅适用于内置帖子类型帖子,不适用于自定义帖子类型。  ...Sticky Posts是仅适用于帖子的WordPress功能,使用此插件,您也可以将此功能与自定义帖子类型一起使用。...Sticky Posts Switch插件教程WordPress中为分类添加置顶文章 Sticky Posts Switch插件的特点使您可以对首页、存档页面或类别页面上的每个自定义帖子类型使用粘性帖子功能对自定义帖子类型的快速和批量编辑支持选择帖子类型...(帖子或自定义帖子类型)选择开关图标的颜色显示开关图标的列的自定义顺序仅使用内置的WordPress功能星形图标开关立即使用 ajax 将帖子保存为置顶状态可选地,将帖子的所有翻译设置为置顶,支持 Polylang...推荐:SearchWP Live Ajax Search插件教程WordPress添加Ajax搜索晓得博客,版权所有丨如未注明,均为原创晓得博客 » Sticky Posts Switch插件教程WordPress

    5.6K20

    盘点2020年wordpress常用的50个插件合集-吐血推荐

    盘点2020年wordpress常用的50个插件合集,50个插件已经打包整理好,可以选择性安装或者是去搜索添加。如果后台经常出现安装不成功的!...大部分的插件是可以在网上搜到的或者是在wordpress后台搜索添加。...9、Disable Gutenberg 选择禁用古腾堡,禁用古腾堡块编辑器,并还原“经典编辑器”和原始的“编辑帖子”屏幕。提供用于启用特定帖子类型,用户角色等的选项。...URLs 选择简单的URL,简单网址是一个完整的网址管理系统,可让您使用自定义帖子类型和301重定向来创建,管理和跟踪网站的出站链接。...功能有XML站点地图,为自定义文章类型的搜索引擎优化,博客或商业网站的搜索引擎优化,电子商务网站搜索引擎优化,以及更多。年以来的近5000万下载。

    5.5K10

    史上最详细的WordPress的自定义文章类型指南(1)

    () { // 设置文章类型参数 $args = [ // 文章类型的简介,貌似没有在 WordPress 内核中使用,不过我们可以在主题或插件中使用...// 字符串 (默认使用文章图标) // 属于该文章类型的文章是否可以通过 WordPress 导入/导出插件或者类型的插件导出 'can_export'...正如官网上的提示,如果你在WordPress中启用了URL规则重写,而且在创建自定义Post Type的时候没有把参数rewrite设置为false,那么在注册之后,还需要一些额外步骤来进行伪静态规则的刷新...但是如果你想对其进一步自定义的话,WordPress并没有在后台提供自定义文章类型的固定链接设置,上文提到的Settings中找到Permalink Settings这种设置方式只对自带的Post有效,...使用代码的方式比较重,比较麻烦,不适合普通用户,而且我也没有这方面的需求,就不写了,感兴趣的可以看看这篇文章: 如何修改自定义文章类型的固定链接 这方面最好的插件就是 Custom Post Type

    4.4K20

    2019的10个最佳WordPress画廊插件

    为了优化您网站上的图像,图库插件需要提供功能,使其能够使用用户可能会搜索的适当标题或关键字来标记图像。 这将使您的内容同时显示在网络和图像搜索结果中。...画廊类型 某些画廊插件旨在展示各种媒体,例如图像,照片和视频,而其他插件仅专注于一种媒体。 在搜索适合您需求的图库插件时,您会看到许多不同的图库类型。...网格-响应式WordPress网格插件 网格非常适合显示您的博客,投资组合,电子商务或任何类型的WordPress帖子类型。 该插件支持图像,视频,音频,链接,图库和报价。...您还可以从WooCommerce产品和由第三方插件或主题创建的自定义帖子类型中获取图像。 UberGrid非常易于使用,无需编码。...您为它命名,可以自定义它。 您可以使用UberGrid展示您的作品集 , 团队 , 产品 , 照片 , 博客帖子或其他可以用方形单元格显示的内容。

    4.8K51

    The7 v.11.11.3 — WordPress 网站和电子商务构建器

    简单的自定义帖子类型生成器 与许多其他主题一样,The7 始终为投资组合、团队、客户等提供内置帖子类型。但是,如果您需要更改现有帖子类型或进行复制,该怎么办?...在新版本中,我们更进一步,创建了一个非常简单的帖子类型生成器。现在,您可以编辑现有的或创建您自己的帖子类型,并使用我们的通用砌体、列表、网格和轮播小部件显示它们。...此外,我们的帖子类型与高级自定义字段 (ACF) 插件完全兼容。因此,可能性确实是无限的。并且无需编码! 扩展 WooCommerce 集成 WooCommerce 是全球最受欢迎的电子商务软件。...即使您在 ThemeForest 上的支持期已过期,我们也提供免费的客户支持。 (前提是您没有滥用它。)没有经常性会员资格或其他隐藏费用!...如果您想建立一个多语言网站,该主题与广泛流行的 WPML 插件完全兼容。 SEO 就绪且适合移动设备 该主题与各种搜索引擎优化插件兼容,包括 Yoast SEO。它还经过谷歌认证,适合移动设备。

    16310

    选择正确的WordPress插件

    给 WordPress 网站选择正确的插件,主要有两个含义,一个是:通过使用正确的 WordPress SEO 插件,让整个 WordPress 的网站,每一篇文章,每一个页面,都符合搜索引擎的搜索要求...,这样可以让搜索引擎更快的收录网站,提高网站在搜索引擎里的权重和排名,从而增加网站业务的转化率;第二个是:如果插件能增强 WordPress 功能,确定必须使用,那么就安装,如果有些插件的功能,是可有可无的...在 WordPress 官方插件目录输入:SEO,搜索出来的结果很多,但是基本上所有的 WordPress 用户常用的也就两个插件:Yoast SEO 和 All in One SEO Pack。...;All in One SEO Pack 插件没有任何的提示,只是一些设置相关 SEO 的框框。...Pack 贵得多,更多站点 yoast 就更贵了,yoast 如果是 200 个站点购买使用需要 6500 美元;而 All in One SEO Pack 无限制站点只需要 419 美元,但比较遗憾的是两款插件都没有公布自己付费用户的数量

    1K20

    我开发的 WordPress 插件

    使用 WordPress 一段时间,应该算是满久了,总有一些奇奇怪怪的想法,所以也整了一些奇奇怪怪的插件,今天把他们整理下给大家汇聚分享下。欢迎大家选用, 。...WordPress 用户体验插件 你的博客流量和订阅用户不多,那么就加强下你博客的用户体验吧。...WordPress Planet 想创建和 WordPress 火星一样的页面,那么它就是不二的选择。 滔滔 WordPress 插件 给大小朋友在博客上玩滔滔的。...17Fav.com WordPress 插件 国内应该目前大家用得最多的收藏服务,和他的插件。 WordPress Related Posts 相关日志插件,个人写得最好的插件。...WP-del.icio.us 把博客上的搜索文章都提交给 del.icio.us。 WordPress 表情秀 把留言中的一些关键字转换为对应的图片。

    37010

    WordPress 用户体验的插件

    前段时间根据自己的提高博客用户体验的想法尝试提高了一下我爱水煮鱼的用户体验。其实也没有什么原创性!主要是针对 Landing Site 这个插件的修改!...来自引用地址或者友情链接(Referer) 来自搜索引擎(Search Engine) 目前支持 Google,Baidu,MSN+Live,Yahoo!,ASK,觉得其他的都没有必要。...进一步的想法 支持搜索关键字加亮,目前在考虑中,主要觉得不是很大必要,这个功能除了很 Cool 之外。 加强 Cookie 功能,能够纪录普通用户访问次数等等。...更疯狂的想法 对于注册用户,在后台建立一个页面,显示用户留过的言以及阅读过的文章,根据这些文章的 tag 建议用户阅读那些其它文章。...对于留言用户,鼓励注册未注册用户,并提供根据用户名或者 email 认领以前留言的按钮。 ----

    27510

    WPJAM Avatar:在 WordPress 后台自定义头像

    今天做的插件「自定义头像」,非常简单,只有两个功能,可以让用户在 WordPress 后台自定义头像和设置默认头像。...默认头像 除此之外,系统还支持设置默认的头像,在「用户」菜单下的「默认头像」子菜单: 这样如果用户没有自定义头像或者没有使用 Gravtar 也没有设置头像的话,会随机选择一张给用户作为头像。...博客 支持一键将文章中图片下载到 WordPress 媒体库 搜索优化 支持限制和关闭搜索的 WordPress 插件 编辑器优化 优化 WordPress 传统的 TinyMCE 编辑器 添加下划线等按钮...配置器 全自动 WordPress 配置器,不用一行代码就可以开发。 支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。...站点选项 查看和管理所有非 WordPress 系统自动生成的站点选项。 如果你觉得某个选项无用,可以直接删除它。 后台论坛 WordPress 后台论坛,支持创建帖子,分组,消息。

    1.2K20

    WordPress星级评分插件KK Star Ratings评分插件教程

    WordPress星级评分插件KK Star Ratings评分插件教程   在使用Google搜索网站的时候,我们有看到有些搜索结果底下会显示星级评分,这就是利用星级评分来丰富网页摘要的Google...高质量评级表明该页面的受欢迎程度,产品网页等评论插件可以帮助您从搜索引擎获得更多流量、提高会员链接点击量、将用户提交的评论添加到您的网站等等。   有没有想过在自己网页的SERP中的出现星级评分?...插件主要特点如下: kk Star Ratings的主要特点是支持Google Rich Snippets; 能够根据每个类别关闭帖子中的评级; 选择显示星级的位置(主页、帖子、档案); 该插件是开源的...推荐:7个免费的WordPress星级评分插件 KK Star Ratings插件设置   kk Star Ratings有很多功能,例如在哪里显示评分,可以在您的帖子/页面的任何地方手动显示它,可以轻松使用短代码.../简码显示在帖子中的任何位置。

    2.5K20

    WordPress 技巧:提高 WordPress 搜索的相关性

    WordPress 3.7 已经自带支持了。所以下面的代码无需使用了。...实在扛不住 Google 自定义搜索的速度了,把我爱水煮鱼的搜索换回了 WordPress 自带的搜索,但是 WordPress 的默认搜索结果是按照文章的发布时间来排序的,这样的搜索结果的相关性并不强...,应该让搜索结果按照内容相关性排序,而不是按照时间或者 ID,所以我们可以在当前主题的 functions.php 添加如下代码来增强 WordPress 搜索的相关性: add_filter('posts_orderby_request...{$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC"; }else{ return $orderby; } } 上面的代码就是使得搜索的结构...d先按照日志的标题的相关性排序,然后按照日志的内容,最后才是日的志修改时间和 ID,这样的修改之后,WordPress 搜索的结果相关性就提高了很多。

    25130

    WordPress 技巧:如何修改自定义日志类型的固定链接

    如果你使用过 WordPress 自定义日志类型(Custom Post Type)的话,一定发现自定义类型日志的的固定链接(Permalink)是不受制于后台 > 设置 > 固定链接中为 Post 置顶的链接格式...,强制设置为 /custom_post_type/post_name/,如果我们要把自定义日志类型的固定链接修改为 /custom_post_type/post_name/ ,如何设置呢?...假设你已经创建了一个 book 的自定义日志类型,将其固定链接设置为:/book/post_id/,在当前主题的 functions.php 文件中添加如下代码: add_filter('post_type_link...post_type=book&p=$matches[1]', 'top' ); } 添加好之后,这个固定链接是不会立刻生效的,需要到 后台 > 设置 > 固定链接 点击下保存按钮,刷新 WordPress...的 Rewrite 缓存。

    67330

    一文说透WordPress的自定义文章类型

    Post Type,字面意思就是“文章类型”或者叫“帖子类型”,其实更准确的说法应该叫“内容类型”,是WordPress用来区分不同类型不同用途的内容的一个术语。...在需要按条件显示WordPress文章时,WP_Query默认的搜索是Post, 这时默认会把自定义文章类型排除出去,除非你特意指明了需要的类型,这样可以对过滤结果有更好的控制。 更好的编辑内容。...WordPress自身并没有在后台提供一种可视化的界面来创建自定义文章类型,但是有很多插件也可以实现可视化创建。...首先可以搜索看下是你的内容类型否已经有插件可以满足需求了,比如电商插件WooCommerce这类高级插件都会创建自己的post type。...如果内容类型比较特殊,没有完全符合的插件,那么可以考虑使用自定义文章类型可视化创建插件。

    1.9K00

    WPJAM #Hashtag#:自动将文章内容中 #话题标签# 转换成链接

    如果每个内部链接都要手工一个一个加上,那估计得累趴,另外目前世面上的内链插件都是自动在内容中查找关键字,然后加上链接,但是由于没有规律性,这类插件效率都有问题。...Shortcode# 如果是分类,则自动跳转到 WordPress 分类页: #WordPress# #速查手册# 如果其他自定义分类,比如文章专题插件创建的「专题」自定义分类,也可以跳转: #WPJAM...WordPress 博客 支持一键将文章中图片下载到 WordPress 媒体库 搜索优化 支持限制和关闭搜索的 WordPress 插件 编辑器优化 优化 WordPress 传统的 TinyMCE...配置器 全自动 WordPress 配置器,不用一行代码就可以开发。 支持自定义文章类型,自定义字段,自定义分类,分类选项,全局选项。...站点选项 查看和管理所有非 WordPress 系统自动生成的站点选项。 如果你觉得某个选项无用,可以直接删除它。 后台论坛 WordPress 后台论坛,支持创建帖子,分组,消息。

    91830
    领券