tro*_*r84 1 php wordpress woocommerce
我\xe2\x80\x99m 有兴趣删除阻止客户以外的任何人为其订单付款的限制,以便当客户自行付款时遇到困难时,管理员可以介入并代表客户进行付款任何原因。
\n\n目前,如果客户下订单但付款失败,订单编辑屏幕中指向 \xe2\x80\x98客户付款页面\xe2\x80\x99 的链接会将您带到一条消息,其中显示:
\n\n\n\n\n该订单无法支付。如果您需要帮助,请联系我们。\n
\n
这是限制 I\xe2\x80\x99m 试图删除 \xe2\x80\x93 I\xe2\x80\x99ve 将其范围缩小到此代码;
\n\n// Logged in customer trying to pay for someone else's order.\n if ( ! current_user_can( 'pay_for_order', $order_id ) ) {\n throw new Exception( __( 'This order cannot be paid \nfor. Please contact us if you need assistance.', 'woocommerce' ) );\n }\nRun Code Online (Sandbox Code Playgroud)\n\n文件中包含:
\n\n/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-checkout.php
\n\n这似乎引用了用户的能力。
\n\n为管理员提供对任何订单 \xe2\x80\x98pay_for_order\xe2\x80\x99 的能力的最佳方式是什么?
\n\n非常感谢您提供的任何帮助
\n这是一个非常粗略的例子,但这正是您正在寻找的。您可以将其添加到您的functions.php 文件中。这将为管理员角色提供该能力。
function allow_admin_to_pay_for_order(){
$administrator = get_role('administrator');
$administrator->add_cap( 'pay_for_order' );
}
add_action('init', 'allow_admin_to_pay_for_order');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2642 次 |
| 最近记录: |