Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 附加WP+;WooCommerce-需要从ID中提取昵称的方法_Php_Wordpress_Woocommerce - Fatal编程技术网

Php 附加WP+;WooCommerce-需要从ID中提取昵称的方法

Php 附加WP+;WooCommerce-需要从ID中提取昵称的方法,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,所以,这一个让我陷入了一个循环。我已经联系了插件的支持人员,他们基本上告诉我我是索尔,但我拒绝相信没有办法做到这一点 我习惯于将销售归因于单个地点。每个分支机构都有一个Wordpress用户,对于他们的昵称,我使用了他们的地址/位置。 不幸的是,该插件没有在订单详情屏幕或订单电子邮件中包含此内容,这是一个大问题。我已经把一些代码放在一起,但是不断地出现各种各样的未定义错误,因为它们在类内做所有的事情,我想这可以确保像我这样的人不能在类中胡闹 将附属机构分配给订单的功能: 用于检索用户ID的函数:

所以,这一个让我陷入了一个循环。我已经联系了插件的支持人员,他们基本上告诉我我是索尔,但我拒绝相信没有办法做到这一点

我习惯于将销售归因于单个地点。每个分支机构都有一个Wordpress用户,对于他们的昵称,我使用了他们的地址/位置。 不幸的是,该插件没有在订单详情屏幕或订单电子邮件中包含此内容,这是一个大问题。我已经把一些代码放在一起,但是不断地出现各种各样的未定义错误,因为它们在类内做所有的事情,我想这可以确保像我这样的人不能在类中胡闹

将附属机构分配给订单的功能:

用于检索用户ID的函数:

用于检索附属公司名称的函数:

[编辑]最后,我的弗兰肯斯坦:

 add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
global $Affiliate_WP_WooCommerce;
echo '<p><strong>'.__('My Field').':</strong> ' . affiliate_wp()->affiliates->get_affiliate_name( $affiliate_id ) . '</p>';
}
添加操作('woocmerce\u admin\u order\u data\u after\u billing\u address'、'my\u custom\u checkout\u field\u display\u admin\u order\u meta',10,1);
函数my\u custom\u checkout\u field\u display\u admin\u order\u meta($order){
全球$Affiliate_WP_WooCommerce;
回显“。”我的字段“:”。附属公司wp()->附属公司->获取附属公司名称($affiliate\u id)。”

; }

这不会给我一个错误,但会给我一个空白区域…

affwp\u get\u affiliate\u name方法在三个条件下返回空白:

if ( ! $affiliate = affwp_get_affiliate( $affiliate ) ) {
    return '';
}
if ( ! $user_info = get_userdata( $affiliate->user_id ) ) {
    return '';
}

...

// If neither are set, return an empty string.
if ( empty( $first_name ) && empty( $last_name ) ) {
    return '';
}
首先手动传递您知道与包含$first_name和/或$last_name的记录关联的附属id,例如:

echo'。(“我的字段”):。附属公司\u wp()->附属公司->获取附属公司\u名称(5)。'

",

这将排除您当前传递的$affiliate_id是否存在问题。如果您得到了返回的值,那么修复起来应该很简单

尝试之后,我会尝试更改add_action()的优先级,将其提高到999或其他,因为它可能在插件中的相关挂钩之前执行。

尝试以下操作:

add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
global $Affiliate_WP_WooCommerce;
$order_id       = $order->get_id();
$referrals      = affiliate_wp()->referrals->get_by( 'reference', $order_id);
$affiliate_id   = $referrals->affiliate_id;
echo '<p><strong>'.__('My Field').':</strong> ' . affiliate_wp()->affiliates->get_affiliate_name( $affiliate_id ) . '</p>';
}
添加操作('woocmerce\u admin\u order\u data\u after\u billing\u address'、'my\u custom\u checkout\u field\u display\u admin\u order\u meta',10,1);
函数my\u custom\u checkout\u field\u display\u admin\u order\u meta($order){
全球$Affiliate_WP_WooCommerce;
$order\u id=$order->get\u id();
$referrals=affiliate_wp()->referrals->get_by('reference',$order_id);
$affiliate\u id=$reforts->affiliate\u id;
回显“。”我的字段“:”。附属公司wp()->附属公司->获取附属公司名称($affiliate\u id)。”

; }
Tip#1:学会阅读并尝试理解错误消息。如果您阅读它,它会说
get\u affiliate\u id
不是
$woocommerce
类上的函数(aka方法)。这就引出了一个问题:如果AffiliateWP是所有分支跟踪和信息的插件,那么为什么您要在
$woocommerce
类上访问
get\u affiliate\u id
?您需要找到的是如何使用AffiliateWP代码从订单中获取附属信息。。。。(不,函数不在课堂上,这对你来说并不困难。它们在课堂上还有许多其他实用的原因)。每个推荐都与一个商业订单相关,所以仍然没有必要包括它?经过一段时间的尝试,我删除了对吴宇森的全球呼吁,我达到了一个没有错误的地步,但也有一个空白区域…不一定。我猜AffiliateWP有一个函数,它接受订单或订单ID,并返回相关的附属信息。这就是我要寻找的地方(不熟悉AffiliateWP,但对Woocommerce相当熟悉)