如何获取 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 中的活跃订阅者列表? 的相关文章

  • 从 Hibernate 生成 SQL 脚本

    我正在为我的 Java Swing 应用程序使用 Hibernate 4 3 5 Final 并且我做了很多工作UDPATE INSERT and DELETE与它 在 HQL 中或与Criteria 现在 我想做的是导出对数据库所做的所有
  • 在 Yii 2.0 中添加 jquery

    如何在 Yii 2 0 中将 jQuery 添加到我的页面 在 Yii 1 x 中你可以使用 Yii app gt clientScript gt registerCoreScript jquery 我已经尝试用自己的 View 类重写并尝
  • 数据源和数据集的区别

    我目前正在开发一个项目 其主要任务是读取存储在 SQL 数据库中的数据并以用户友好的形式显示它们 使用的编程语言是C 我在 Borland C Builder 6 环境中工作 但我认为标题中提出的问题与编程语言或库无关 当从数据库读取数据时
  • 如何将javascript变量放入php echo [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想将 JavaScript 变量添
  • 为什么服务器端和客户端脚本无法交互?

    我是客户端和服务器端脚本的新手 我想知道它们为什么不能交互 Code Conquest 指出的主要区别here http www codeconquest com website client side vs server side 就是它
  • 在 JWT Laravel 中使用授权标头时获取 token_not_provided

    I read 本教程 http blog nedex io create an api server for mobile apps using laravel 5 1 我设法使它完美地工作 唯一的问题是当我从 令牌 token here
  • Sequel Pro / MAMP 在哪里存储本地数据库?

    我通过 Sequel Pro 和 MAMP 在我的计算机上创建了一些数据库 并运行 localhost 来查看它们 但是 我全新安装了 Mac OS Lion 但忘记将数据库备份到 sql 文件 我会定期备份文件 并预装计算机的副本 有谁知
  • MySQL记录保存到数据库的当前时间

    我正在使用 Zend Framework 1 12 和 Mysql 我想在数据库中添加列 该列保存记录插入表中时的当前日期时间 有人知道我如何定义此列吗 此功能必须在 Mysql 站点上运行 而不是在 PHP 站点上运行 您必须将列类型更改
  • Cake PHP 中的自定义分页

    我是 cakePHP 的初学者 我不想在 cakePHP 中创建自定义分页 功能 paginator gt numbers 它显示的页码如下 1 2 3 4 通过查看选项 有一些选项可以更改分隔符 添加样式类 css 等等 我想要的是这样的
  • 在 (PHP/GD) 中调整图像大小

    我正在寻找帮助 建议 以找到最有效的方法来使用以下方法将图像大小调整为尽可能小PHP GD同时保留原始图像的纵横比 但确保调整后的图像大于定义的最小宽度和高度 例如 调整大小后的图像必须具有宽度 gt 400 且高度 gt 300但应尽可能
  • 使用 postgresql DB 存储 NULL 值需要多少磁盘空间?

    假设我的表上有一列定义了以下内容 MyColumn smallint NULL 存储 0 1 或其他值等值应该需要 2 个字节 1 但是如果我将 MyColumn 设置为NULL 需要多少空间 需要0字节吗 出于管理目的或每列 行是否有一些
  • 如何使用 file_put_contents() 写入变量值?

    一整天都在试图解决这个问题 假设这只是一个小错误 我正在尝试使用file put content将变量值放入另一个 php 文件中 下面的代码将解释 将数据写入php的文件
  • 是否可以使用不在 GROUP BY 中的 ORDER BY 列?

    正如标题所说 这是我的代码 SELECT material SUM Amount AS Amount RIGHT CONVERT varchar 50 date in 106 8 FROM rec stats GROUP BY materi
  • PHP 一次只能看到 20 个上传文件

    当我尝试一次上传超过 20 个文件时 网络服务器只能看到前 20 个文件 任何其他文件都会被忽略 问题是什么 简单的代码可以尝试
  • 用正则表达式动态替换部分条件块

    有一个字符串 格式为 else if rule somerule1 echo s 1 n name surname else if rule somerule2 echo s 1 n another text here s 只能有数字 n
  • 调用php中未定义的方法DateTime::add方法

    我使用 php 5 2 9 作为 xampp 安装的一部分 我正在为我的网络应用程序使用 codeigniter 框架 当我调用 DateTime add 时 Call to undefined method显示错误 我的代码是 date
  • 如何通过 SyliusResourceBundle 使用 Sylius 创建新模型

    我找到并成功使用了有关如何覆盖 Sylius 中现有模型的文档 但我无法利用 SyliusResourceBundle 创建一个全新的模型 我猜如果你已经了解 Symfony2 的话这很容易吗 我仍在学习 所以这就是我所拥有的 我缺少什么
  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • 我写了一个 SQL 查询但没有运行,为什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 当前表 EmployeeID CompanyID EmployeeCode EmployeeName 1001 C001 11919 ABC
  • ZipArchive::extractTo 不创建 zip 文件名称的子目录

    我有一个名为myzip zip 它包含 myzip file1 png and myzip subdirectory file2 png 我希望将其提取到 home me somedirectory所以我尝试 zip gt extractT

随机推荐

  • 封装可变切片修改

    给定一个函数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