php - Wordpress - 编辑插件的过滤器功能

标签 php wordpress field hook membership

我想知道是否有人可以帮助我。

我有一个名为 Paid Memberships Pro 的插件。

在注册表单上有一些我想必填的字段。

我查看了代码,找到了设置哪些字段是必填字段和哪些字段不是必填字段的地方,如下所示:

//require fields
$pmpro_required_billing_fields = array(
    "bfirstname" => $bfirstname,
    "blastname" => $blastname,
    "baddress1" => $baddress1,
    "bcity" => $bcity,
    "bstate" => $bstate,
    "bzipcode" => $bzipcode,
    "bphone" => $bphone,
    "bcountry" => $bcountry,
    "bemail" => $bemail,
    "CardType" => $CardType,
    "AccountNumber" => $AccountNumber,
    "ExpirationMonth" => $ExpirationMonth,
    "ExpirationYear" => $ExpirationYear,
    "CVV" => $CVV
);
$pmpro_required_billing_fields = apply_filters("pmpro_required_billing_fields", $pmpro_required_billing_fields);
$pmpro_required_user_fields = array(
    "username" => $username,
    "password" => $password,
    "password2" => $password2,
    "bemail" => $bemail,
    "bconfirmemail" => $bconfirmemail
);
$pmpro_required_user_fields = apply_filters("pmpro_required_user_fields", $pmpro_required_user_fields);

这可以在插件核心文件之一 plugins/paid-memberships-pro/preheaders/checkout.php 中找到

我希望能够覆盖它,但我不想编辑核心文件,有没有办法通过我的主题 functions.php 文件编辑它?

例如,将 bfirstname 和 blastname 添加到 $pmpro_required_user_fields?

任何帮助将不胜感激,我一直在寻找如何做到这一点,但我真的无法理解它是否可能。

谢谢大家:)

最佳答案

(将此代码放入您的 chid 主题 function.php 文件中)

不确定,但您可以先尝试使用 remove_filters:

remove_filters("pmpro_required_billing_fields", $pmpro_required_billing_fields);
remove_filters("pmpro_required_billing_fields", $pmpro_required_user_fields);

然后您可以克隆这些数组,自定义它们(并稍微更改它们的名称),然后为自定义数组重新应用过滤器:

$pmpro_required_billing_fields2 = array(
    /* your custom code goes here */
);
$pmpro_required_billing_fields2 = apply_filters("pmpro_required_billing_fields", $pmpro_required_billing_fields2);

$pmpro_required_user_fields2 = array(
    /* your custom code goes here */
);
$pmpro_required_user_fields2 = apply_filters("pmpro_required_user_fields", $pmpro_required_user_fields2);

这只是一个未经测试的想法,希望它能奏效。

关于php - Wordpress - 编辑插件的过滤器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36806789/

相关文章:

php - 从 mysql 中获取图像并在 php 中使用 timthumb 调整大小

php - 如果登录用户已购买,则隐藏 WooCommerce 产品

wordpress - Woocommerce 商店经理角色,隐藏 woocommerce 菜单

sorting - 多个 solr 服务器实例上的 solr.RandomSortField

javascript - 添加动态字段以创建特定的 JSON 格式

php设置权限文件使其可写

php - 如何逐行流式传输 GET 请求?

php - 如何从触发器更改的列中获取值

php - 如何创建像 WordPress 一样的自定义 sanitize_title() 函数?

php - MySQL 和 PHP : Only the first field in the table is displayed