如何获取 WooCommerce 中的活跃订阅者列表?

2024-04-13

我正在尝试获取所有具有活跃订阅的用户的列表,但在我的一生中似乎无法让某些东西发挥作用。

如果我查看仪表板中的用户,我会看到所有活跃成员都具有“Abonné”角色。

所以我设置了这样的短代码:

function custom_get_members( ){
$args1 = array(
        'role' => 'Abonné',
        'orderby' => 'user_nicename',
        'order' => 'ASC'
    );
$subscribers = get_users($args1);

$output = '<ul>';
    foreach ($subscribers as $user) {
        $output .= '<li>' . $user->display_name.'['.$user->user_email . ']</li>';
        }
$output .= '</ul>';

return $output;
}
add_shortcode( 'annuaire', 'custom_get_members' ); 

但我总是得到 0 个结果,尽管我们目前有超过 50 个订阅者。

通过订阅和会员资格运行 WooCommerce。

Thanks!


Updated (为您的短代码提供额外的定制功能)

1) 以下自定义函数进行非常简单的 SQL 查询,将返回所有活动订阅者的用户 ID 数组:

function get_active_subscribers_ids(){
    global $wpdb;

    // Return an array of user Ids active subscribers
    return $wpdb->get_col( "
        SELECT DISTINCT pm.meta_value
        FROM {$wpdb->prefix}posts as p
        JOIN {$wpdb->prefix}postmeta as pm
            ON p.ID = pm.post_id
        WHERE p.post_type = 'shop_subscription'
        AND p.post_status = 'wc-active'
        AND pm.meta_key = '_customer_user'
    " );
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。


2)对于您的简码,我更改了此函数以直接获取display_name and user_email:

function get_all_active_subscribers(){
    global $wpdb;

    return $wpdb->get_results( "
        SELECT DISTINCT u.*
        FROM {$wpdb->prefix}posts as p
        JOIN {$wpdb->prefix}postmeta as pm
            ON p.ID = pm.post_id
        JOIN {$wpdb->prefix}users as u
            ON pm.meta_value = u.ID
        WHERE p.post_type = 'shop_subscription'
        AND p.post_status = 'wc-active'
        AND pm.meta_key = '_customer_user'
    " );
}

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。

在您的短代码中的用法:

function custom_get_members( ){
    $output = '<ul>';

    // Loop through active subscribers
    foreach ( get_all_active_subscribers() as $user ) {
        $output .= '<li>' . $user->display_name.'['.$user->user_email . ']</li>';
    }
    return $output . '</ul>';
}
add_shortcode( 'annuaire', 'custom_get_members' ); 

经过测试并可使用更轻的查询和代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 WooCommerce 中的活跃订阅者列表? 的相关文章

  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • 通过 facebook graph API 检索 facebook 用户的邮政编码

    我正在尝试使用 facebook graph API 检索用户的邮政编码 我正在使用以下代码 代码在php ini中 facebook new Facebook array appId gt APP ID secret gt APP SEC
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • 如何在使用连接池时强制 SqlConnection 物理关闭?

    我明白 如果我实例化一个 SqlConnection 对象 我实际上是从连接池中获取一个连接 当我调用 Open 时 它将打开连接 如果我对该 SqlConnection 对象调用 Close 或 Dispose 方法 它将返回到连接池 但
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中

随机推荐

  • 封装可变切片修改

    给定一个函数foo它采用对切片的可变引用 它可以减少切片的长度a mut a 1 但是 我一直无法弄清楚如何编写一个变异的函数a以同样的方式 fn foo mut a mut i32 a mut a 1 inc mut a fn inc l
  • string[] 和 List 的不同绑定行为

    我尝试理解 没有成功 为什么当源对象是时绑定行为不同string and List
  • 带代理的 extjs 树存储

    我正在创建一个 MVC extjs 应用程序 我有一个带有商店的树面板 它正在从 php 源加载数据 我收到以下 json 格式的响应 text Home leaf true dbName NULL children text Moje F
  • Vim 正常模式 CTRL-A 的同义词?

    我想到一个主意
  • TCP Socket无连接超时

    我打开一个 TCP 套接字并将其连接到网络上其他位置的另一个套接字 然后我就可以成功发送和接收数据 我有一个计时器 每秒向套接字发送一些内容 然后 我通过强行断开连接 在本例中拔出以太网电缆 来粗暴地中断连接 我的套接字仍然报告它每秒都在成
  • Groovy , -> 是什么意思

    在常规代码的示例中我发现 gt 运算符无处不在 但是我的常规教程和书似乎都提供了关于这意味着什么的任何解释 它用于将声明闭包绑定的位置与实际代码分开 例如 def myClosure x y gt x y 之前的部分 gt 声明闭包有两个名
  • 如何捕获此错误 NodeJs/Express?

    我正在尝试使用 NodeJs 编写简单的 Web 服务 我进行 Ajax 调用如下 ajax type POST url http localhost 3800 this json below is invalid and I need t
  • 如何让 % (跳转到匹配的括号)键忽略 Vim 中注释掉的代码

    1 include
  • Openssl 和 Node 的 Crypto 有不同的输出

    简而言之 我想要sign一个字符串 a 就像openssl using crypto节点中的库 但我一次又一次地得到错误的输出 详细描述 使用 openssl 签名 我有两个生成的 rsa 密钥 public key pem and pri
  • Facebook Messenger 机器人错误 JSON 中位置 0 处出现意外标记 '

    我正在尝试使用 NodeJS 和 Express 创建一个 Facebook Messenger 机器人 我正在关注脸书指南 https developers facebook com docs messenger platform get
  • 如何 typedef 模板类? [复制]

    这个问题在这里已经有答案了 我该怎么办typedef a template class 就像是 typedef std vector myVector lt compiler error 我知道有两种方法 1 define myVector
  • 如何在多个 元素中应用 ng-if (或其他条件),同时保持干燥

    我想显示一些 td 基于相同条件的元素 我目前正在用多个相同的 ng if指令 例如 tbody tr td Display unconditionally td td Same here imagine more columns td t
  • TypeScript 模块

    我想知道是否有可能以某种方式将两个或多个文件中的两个或多个类添加到 TypeScript 中的同一模块中 像这样的事情 src gui uielement ts module mylib module gui export interfac
  • 防止 npm 安装的 Windows 批处理中的“中止”

    我正在编写一个bat文件来自动安装npm包并安装compass 蝙蝠很简单 如下 npm install g bower npm install g grunt cli npm install gem update system verbo
  • 使用 chai-http 设置接受的 CA 列表并忽略 SSL 错误

    我正在尝试使用 chai chai http 为我的节点代码编写单元测试 一切都工作正常 直到我将服务器切换到 HTTPS 服务器 但由于我的证书是由内部公司根签名的 并且我使用的证书的通用名称与本地主机不匹配 所以 chai 在我的请求中
  • 带有滑动菜单和 actionbarsherlock 的动态 UI

    尝试实现动态 UI类似 Facebook 的滑动菜单 https github com jfeinstein10 SlidingMenu and 动作条夏洛克 http actionbarsherlock com 首先我查看了android
  • 如何在flutter中显示scrollController的滚动索引?

    我想通过利用滚动控制器在 listView 底部显示索引 与下图中显示的方式相同 用户向下滚动或向上滚动后 左侧以红色突出显示的计数会根据用户的滚动方向增加 减少 我想要实现的是自动更新显示项目的索引 如图中红色所示 因此 每当用户向下或向
  • 如何减少地理地图的地块与边界之间的空间?

    我正在尝试使用 marmap 库绘制美国东北部的测深地图 以下代码加载了正确的范围 但是当我绘制地图时 边界和地图之间有空白区域 无论是在地图的顶部 底部还是左侧 右侧 导出绘图时也会出现这种情况 如果我拖动绘图查看器屏幕大小 绘图会进行调
  • 我可以使用 FileChannel 独立地从不同线程查找文件吗?

    我创建了一个可处理 FLV 文件的 Web 应用程序 该应用程序使用我创建的一个库来解析 flv 文件的内容 该库使用 FileChannel 来查找文件 现在 我从不同的线程中寻找相同的 flv 文件 因此遇到了一种奇怪的行为 这么说吧T
  • 如何获取 WooCommerce 中的活跃订阅者列表?

    我正在尝试获取所有具有活跃订阅的用户的列表 但在我的一生中似乎无法让某些东西发挥作用 如果我查看仪表板中的用户 我会看到所有活跃成员都具有 Abonn 角色 所以我设置了这样的短代码 function custom get members