纯代码如何实现WordPress搜索包含评论内容?

news2024/11/16 11:45:17

WordPress自带的搜索默认情况下是不包含评论内容的,不过有些WordPress网站评论内容比较多,而且也比较有用,所以想要让用户在搜索时也能够同时搜索到评论内容,那么应该怎么做呢?

网络上很多教程都是推荐安装SearchWP插件,然后在设置中勾选“评论”,这样就可以搜索到文章评论内容了。

纯代码如何实现WordPress搜索包含评论内容?-第1张-boke112百科(boke112.com)

其实,我们只需要将以下代码添加到当前主题的functions.php文件中并保存更新文件即可实现WordPress搜索包含评论内容。

/**
* 纯代码如何实现WordPress搜索包含评论内容? - boke112百科
* https://boke112.com/article/wordpress-search-comment.html
*/
add_action('posts_search','wp_search_comment',2,2);
function wp_search_comment($search, $query){
global $wpdb;
if ($query->is_main_query() && !empty($query->query['s']) && !is_admin()) {
$sql = " OR EXISTS (SELECT comment_ID FROM {$wpdb->comments} WHERE comment_post_ID={$wpdb->posts}.ID and comment_content like %s)";
$like = '%' . $wpdb->esc_like($query->query['s']) . '%';
$search .= $wpdb->prepare($sql, $like);
}
return $search;
}

以上代码经过boke112百科在WordPress 6.53版本+PHP8.0测试了JianYue主题、Twenty Twenty-Four主题,都可以搜索到评论内容,包括自定义文章类型的评论内容。

不过如果你的WordPress网站根据『实现WordPress默认站内搜索伪静态化的方法』一文的操作,将WordPress站内搜索变成了伪静态,那么上述代码就失效了,也就是无法搜索到评论内容了。

来源:纯代码如何实现WordPress搜索包含评论内容? - boke112百科 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言——小知识和小细节18

一、力扣题目 1、题目本体 2、题解 本题目我们使用异或分组的方法来解决。可以在我之前的文章《C语言——操作符CSDN博客》中看一下异或的特点。 由于异或的运算规则为相同为0,不同为1,而且是在二进制补码上进行操作的,我们可以发现的一个…

Java面试真题日常练习

题目:反转字符串 描述:编写一个函数,输入一个字符串,将其反转并返回结果。 解题思路:可以使用两个指针,一个指向字符串的开头,一个指向字符串的末尾,然后不断交换两个指针所指的字符…

[AI Google] 10个即将到来的Android生态系统更新

新的体验带来了更强的防盗保护、手表电池寿命优化,以及对电视、汽车等的娱乐功能改进。 昨天,我们分享了Android如何以人工智能为核心重新构想智能手机。今天,我们推出了Android 15的第二个测试版,并分享了更多我们改进操作系统的…

Python代码注释的艺术与智慧

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:注释的必要性 二、注释的误区:不是越多越好 过度注释的问题…

jetcache缓存

1 介绍 是阿里的双极缓存,jvm-->redis-->数据库 文档:jetcache/docs/CN at master alibaba/jetcache GitHub 2 注意事项 使用的实体类一定实现序列化接口定时刷新注解,慎用 它会为每一个key创建一个定时器 :场景为&…

k8s节点亲和性配置

在Kubernetes中,你可以使用节点亲和性(Node Affinity)来控制Pod调度到特定的节点上。节点亲和性是通过Pod的spec.affinity.nodeAffinity属性来设置的。 以下是一个配置节点亲和性的YAML示例: apiVersion: v1 kind: Pod metadata…

YOLOv8原理详解

Yolov8是2023年1月份开源的。与yolov5一样,支持目标检测、分类、分割任务。 Yolov8主要改进之处有以下几个方面: Backbone:依旧采用的CSP的思想,不过将Yolov5中的C3模块替换为C2F模块,进一步降低了参数量&#xff0c…

为什么越来越多的服装连锁门店收银选web收银系统

如今,随着时尚产业的快速发展,服装连锁门店在管理上面临着越来越多的挑战。其中,收银系统作为零售店铺重要的管理工具,选择适合的收银系统对于提高门店管理效率和顾客体验至关重要。本文将探讨为什么服装连锁门店应选择Web收银系统…

kafka监控配置和告警配置——筑梦之路

kafka_exporter项目地址:https://github.com/danielqsj/kafka_exporter docker-compose部署kafka_exporter # docker-compose部署多个kafka_exporter,每个exporter对接一个kafka# cat docker-compose.ymlversion: 3.1 services:kafka-exporter-opslogs…

Android ART 虚拟机简析

源码基于:Android U 1. prop 名称选项名称heap 变量名称功能 dalvik.vm.heapstartsize MemoryInitialSize initial_heap_size_ 虚拟机在启动时,向系统申请的起始内存 dalvik.vm.heapgrowthlimit HeapGrowthLimit growth_limit_ 应用可使用的 max…

GetWay

SpringCloud - Spring Cloud 之 Gateway网关,Route路由,Predicate 谓词/断言,Filter 过滤器(十三)_spring.cloud.gateway.routes-CSDN博客 官网:Spring Cloud Gateway 工作原理:Spring Cloud G…

DeepDriving | CUDA编程-03:线程层级

本文来源公众号“DeepDriving”,仅用于学术分享,侵权删,干货满满。 原文链接:CUDA编程-03:线程层级 DeepDriving | CUDA编程-01: 搭建CUDA编程环境-CSDN博客 DeepDriving | CUDA编程-02: 初识CUDA编程-C…

操作系统总结3

目录 2.3.3 进程互斥的硬件的实现方法 (1)知识总览 (2)中断的屏蔽方法 (3)TestAndSet指令 (4)Swap指令 总结 2.3.4 信号量机制 (1)知识总览 &#x…

IO游戏设计思路

1、TCP ,UDP ,KCP ,QUIC TCP 协议最常用的协议 UDP协议非常规的协议,因为需要在线广播,貌似运营商会有一些影响 KCP 基于UDP的协议,GitHub - l42111996/java-Kcp: 基于java的netty实现的可靠udp网络库(kcp算法),包含fec实现&am…

50.WEB渗透测试-信息收集-CDN识别绕过(3)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:49.WEB渗透测试-信息收集-CDN识别绕过(2) 关于cdn的识别方法内容…

智享无人直播系统(三代)融合AI智能互动,成就无人直播行业的新巨星!

随着直播行业的不断发展,智享直播(三代)作为首家自主研发的智能AI直播软件引领了行业的新潮流。相比市场上的其他同类软件,我们的软件通过创新的功能实现了直播间的AI智能互动,提供了丰富而个性化的直播体验。最重要的…

坚守互联网底层逻辑,搜狐走向长期主义的next level

2024年以来,随着我国经济回升向好态势进一步巩固增强,网络内容供给不断丰富,新型消费持续活跃,互联网板块整体估值向预期进行修正。因此,中概互联网指数ETF(KWEB)一转颓势,截至5月21…

拼多多:电商卷王

618大促将至,你还在天天算怎么用券吗?各电商卷来卷去,但可能都卷不过“天天618”的——拼多多。 5月22日,拼多多公布Q1财报, 营收同比增长131%至868.1亿人民币,调整后净利润同比增长202%至306.0亿元人民币…

Vue从入门到实战Day11

一、为什么要学Vue3 Vue3官网:简介 | Vue.js 1. Vue3的优势 2. Vue2选项式API vs Vue3组合式API 示例: 二、create-vue搭建Vue3项目 1. 认识create-vue create-vue是Vue官方新的脚手架工具,底层切换到了vite(下一代构建工具),为…

【Vue2.x】props技术详解

1.什么是prop? 定义:组件标签上注册的一些自定义属性作用:向子组件传递数据特点 可以传递任意数量的prop可以传递任意类型的prop 2.prop校验 为了避免乱传数据,需要进行校验 完整写法 将之前props数组的写法,改为对象…