WordPress 后台评论如何自定义搜索条件

时间:2022-02-27 00:38:06

大家都知道WordPress 作为一个非常成熟的博客系统,功能可以说是非常强大,几乎整个网站都可以进行定制开发,已经不算是一个博客系统了而应该是一个成熟的开发框架

最近就用WP给客户开发了一个网站,但客户提了一个需要,简单说就是在后台搜索时添加一个自定义的字段
WP在后台的评论搜索时默认只匹配以下字段,具体请参见:WP_Comment_Query->query方法

  1. comment_approved
    comment_approved
    comment_author
    comment_author_email
    comment_author_url
    comment_author_IP
    comment_content
 
在网络上找了半天也没有找到如何自定义后台评论搜索条件的方法,无奈只得自己写源码,于是发现了"comments_clauses"这个filter,然后通过这个filter添加自定义的搜索条件,将以下代码添加到functions.php
中并更改自定义表和条件
  1. //添加自定义后台评论搜索条件
    function comment_list_by_customer_search($clauses)
    {
    global $user_ID, $wpdb;
    $s=$_REQUEST['s'];//搜索条件
    //搜索条件为空,不处理
    if(empty($s)|| strlen($s)<=0)return $clauses;
    //自定义表和条件
    //更改为自己的查询条件
    $clauses['where'].=" or `comment_ID` in (select o.cid from ".$wpdb->get_blog_prefix()."orders o where o.OrderID like '%$s%' or o.PNAME like '%$s%' or o.PayOrder like '%$s%')";
    return $clauses;
    }
    add_filter('comments_clauses','comment_list_by_customer_search');
有图有真相:
订单列表实际上使用的是评论加自定义表orders实现的,原因是在后台添加一个自定义管理页面比较麻烦,所以直接关联评论表的免得在后台做这些事情了(如搜索,列表,添加新页面等),系统评论使用的是多说
 
WordPress 后台评论如何自定义搜索条件
生成的SQL,使用Query Monitor
WordPress 后台评论如何自定义搜索条件
 
参考:

WordPress 后台评论如何自定义搜索条件的更多相关文章

  1. WordPress 后台上传自定义网站Logo

    需求: 众所周知一般网站的logo都是固定的所以我在做网站时也是使用的静态logo文件,但最近用wp给一个客户做的网站时,因为网站现在的logo可能会需要重新设计,所以客户提出了需要在后台可以自己修改 ...

  2. datagrid在MVC中的运用05-加入时间搜索条件&comma;枚举填充下拉框

    本文主要来体验在搜索区域增加更多的搜索条件,主要包括: ※ 使用jQuery ui的datepicker显示时间,设置显示格式.样式. ※ 设置jQuery ui的onClose事件,使开始和结束时间 ...

  3. &lbrack;wordpress&rsqb;后台自定义菜单字段和使用wordpress color picker

    Wordpress Version 4.4.2 参考链接 插件使用wordpress color picker:Add A New Color Picker To WordPress 后台菜单自定义字 ...

  4. python 全栈开发,Day115&lpar;urlencode&comma;批量操作&comma;快速搜索&comma;保留原搜索条件&comma;自定义分页&comma;拆分代码&rpar;

    今日内容前戏 静态字段和字段 先来看下面一段代码 class Foo: x = 1 # 类变量.静态字段.静态属性 def __init__(self): y = 6 # 实例变量.字段.对象属性 # ...

  5. WordPress后台的文章、分类,媒体,页面,评论&comma;链接等所有信息中显示ID并将ID设置为第一列

    WordPress后台默认是不显示文章.分类等信息ID的,查看起来非常不方便,不知道Wp团队出于什么原因默认不显示这个但可以使用Simply Show IDs插件来实现 不使用插件,其他网友的实现: ...

  6. 黄聪:定制化WordPress后台自定义仪表盘

    WordPress作为一博客管理系统,相对来说已经相当简洁了,对用户也十分友好,新手也极易上手. 仪表盘是我们登陆WordPress后看到的后台界面,映入眼帘的是各种各样的信息,如WordPress ...

  7. 如何让wordpress后台搜索只匹配搜索文章标题

    今天编辑小美眉问网站wordpress后台能不能实现只搜索标题,这个问题怎么可能难到ytkah呢?打开Stack Overflow一顿狂搜,总数有解决方案了,哈哈哈!一起来看看怎么操作吧. 打开主题目 ...

  8. Django自定义分页并保存搜索条件

    Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...

  9. WordPress的后台功能菜单介绍与操作,WordPress后台说明

    WordPress网站的后台概况和登陆地址 网站都有个后台管理系统,通过网站后台,你可以改变你的网站外观,管理你网站的数据,给网站前台增加页面,文章,视频,图片或者其他功能. 通过WordPress建 ...

随机推荐

  1. 如何在遍历中使用 iterator&sol;reverse&lowbar;iterator 删除元素

    如何在遍历中使用 iterator/reverse_iterator 删除元素 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公 ...

  2. 了解Sql Server的执行计划

    前一篇总结了Sql Server Profiler,它主要用来监控数据库,并跟踪生成的sql语句.但是只拿到生成的sql语句没有什么用,我们可以利用这些sql语句,然后结合执行计划来分析sql语句的性 ...

  3. Android ListView用EditText实现搜索功能

    前言 最近在开发一个IM项目的时候有一个需求就是,好友搜索功能.即在EditText中输入好友名字,ListView列表中动态展示刷选的好友列表.我把这个功能抽取出来了,先贴一下效果图: 分析 在查阅 ...

  4. hdu---&lpar;2604&rpar;Queuing&lpar;矩阵快速幂&rpar;

    Queuing Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. 01UITextField基础知识

    文字属性 文字属性包括:text; placeholder(默认使用70%灰色):font:textColor;textAligment. 文字大小 文字大小包括:adjustsFontSizeToF ...

  6. spring入门--Spring框架底层原理

    上一篇的博客,我们可以看出来,spring可以维护各个bean (对象),并向其中注入属性值.那么,如果们要把一个对象的引用注入另外一个对象呢?应该怎么处理呢? 我们知道,对于对象中的属性来说,我们注 ...

  7. javap反汇编的使用

    javap可以查看class文件信息,灵活的运用javap,让你更好的理解class类文件结构信息等   方法/步骤     javap -help查看命令帮助   javap -package Te ...

  8. python之函数联系

    ----------------------作业一 # 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字# linux=['钢弹','小壁虎','小虎比','alex','w ...

  9. 用Python的导入csv、文本文件、Excel文件的数据

    使用read_csv函数导入CSV文件 read.csv函数语法 read_csv(file,encoding) 例子: Age,Name 22,wangwei 23,lixin 24,liqing ...

  10. Data Encryption Errors After Restoring Microsoft Dynamics CRM Database

    If you’re seeing an error similar to the one above, you’ve probably done a database backup and resto ...