Php 如何使用强制登录插件在wordpress中白名单订单接收页面
我使用的插件强制登录:需要允许客人在购买后进入订单接收页面 签出后,登录的用户将被转发到此页面:[mydomain]/checkout/order received/[order\u id]/?key=[order\u key]。我已经试过了:但是在我添加它之后,我不知道该怎么做 我目前有此代码,允许某些页面被列入白名单,以便未登录的用户可以绕过“强制登录”插件并支付相关产品的费用:Php 如何使用强制登录插件在wordpress中白名单订单接收页面,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我使用的插件强制登录:需要允许客人在购买后进入订单接收页面 签出后,登录的用户将被转发到此页面:[mydomain]/checkout/order received/[order\u id]/?key=[order\u key]。我已经试过了:但是在我添加它之后,我不知道该怎么做 我目前有此代码,允许某些页面被列入白名单,以便未登录的用户可以绕过“强制登录”插件并支付相关产品的费用: add_filter('v_forcelogin_whitelist', 'my_forcelogin_whit
add_filter('v_forcelogin_whitelist', 'my_forcelogin_whitelist', 10, 1);
function my_forcelogin_whitelist() {
return array(
home_url( '/cart/' ),
home_url( '/checkout/' ),
home_url( '/cart/?add-to-cart=1465' ),
);
}
我不希望任何已登录的用户在签出后转发到如下页面:
[mydomain]/checkout/order received/5304/?key=wc\u order\u 5cffcfcfc96028对于任何有此问题的人,我就是这样让它工作的。由于生成的一些URL是动态的,因此我需要对这些URL进行处理。在function.php中使用以下代码适用于与woocommerce关联的所有URL:
function my_forcelogin_bypass( $bypass ) {
if ( class_exists( 'WooCommerce' ) ) {
if ( is_woocommerce() || is_wc_endpoint_url() ) {
$bypass = true;
}
}
return $bypass;
}
add_filter( 'v_forcelogin_bypass', 'my_forcelogin_bypass' );
WooCommerce结帐/收到订单问题
对于[mydomain]/checkout/order received/[order\u id]/?key=[order\u key]的问题,它没有正确加载,或者没有显示某些内容,或者500内部服务器错误
因为无论何时更新插件,文件都会在woo commerce插件中更新
$order_received_url = wc_get_endpoint_url( 'order-received', $this->get_id(), wc_get_checkout_url() );
//$order_received_url = add_query_arg( 'key', $this->get_order_key(), $order_received_url );
$order_received_url = wc_get_endpoint_url( 'order-received', $this->get_id(), wc_get_checkout_url() );
//$order_received_url = add_query_arg( 'key', $this->get_order_key(), $order_received_url );