zoukankan      html  css  js  c++  java
  • WordPress 后台评论如何自定义搜索条件

    大家都知道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实现的,原因是在后台添加一个自定义管理页面比较麻烦,所以直接关联评论表的免得在后台做这些事情了(如搜索,列表,添加新页面等),系统评论使用的是多说
     
    生成的SQL,使用Query Monitor
     
    参考:





  • 相关阅读:
    Jquery 复习练习(01)
    web前段 弹出小例子
    MacBook 显示隐藏文件夹命令
    sqlserver 纵横
    C#获取当前页面的url
    C# Json 转对象
    jquery导航栏
    AJAX
    hao dongxi
    微信网页获取openId
  • 原文地址:https://www.cnblogs.com/huangtailang/p/4439765.html
Copyright © 2011-2022 走看看