我使用 WP All Export 将发票数据导出到我的会计程序,如果我有数据,我需要创建一个包含 _billing_company 字段的“客户”字段,或者如果没有公司名称,则需要创建 $_billing_first_name".".$_billing_last_name .
功能如下:
<?php
function company_conditioning($_billing_company, $_billing_first_name, $_billing_last_name) {
if(strlen($_billing_company) < 2) {
return $_billing_first_name." ".$_billing_last_name;
} else {
return $_billing_company;
}
}
?>
当我保存函数时,一切正常,但是当我执行结果时,WP All Export 给出“发生未知错误”错误
我注意到当我将多个变量放入函数中时会发生什么
例如,这个功能完美运行,(如果有公司名称,则显示它,如果没有,则显示OK)
<?php
function company_conditioning($_billing_company) {
if(strlen($_billing_company) < 2) {
return 'ok';
} else {
return $_billing_company;
}
}
?>
我需要将其导出为 .xls(它在 XML 中不起作用)正如我在下面指出的,问题是 WP All import 不处理函数中的两个变量。所以我在尝试导出编码数据时发现了很大的问题。
问题是您必须调用 wp_postmeta 表中的两个字段。我尝试调用 $post_id,然后使用 get_post 调用这两个字段,但我无法让它工作。
<?php
function cliente_jr( $post_id ) {
$empresa_jr = get_post( $post_id, 'billing_company', true );
$nombrefac_jr = get_post( $post_id, 'billing_first_name', true );
$apellidofac_jr = get_post( $post_id, 'billing_last_name', true );
if(strlen($empresa_jr) < 2) {
return $nombrefac_jr." ".$apellidofac_jr;
} else {
return $empresa_jr;
}
}
?>
有什么想法吗?编辑。 另一个例子 如果$ payment_method是COD,则输入$ order_total的值,否则输入0
如果客户端注册了,因为我可以从get_user_meta获取数据,但是如果客户端没有注册,则无法获取billing_company字段
以防任何用户可能会发现它有用。 这非常有效,如果客户已注册,那么如果 billing_company 字段为空,则显示姓名,如果 billing_company 字段有数据,则显示 billing_company
<?php
function cliente_jr( $customer_id ) {
$empresa_jr = get_user_meta( $customer_id, 'billing_company', true );
$nombrefac_jr = get_user_meta( $customer_id, 'billing_first_name', true );
$apellidofac_jr = get_user_meta( $customer_id, 'billing_last_name', true );
if(strlen($empresa_jr) < 1) {
return $nombrefac_jr." ".$apellidofac_jr;
} else {
return $empresa_jr;
}
}
?>
您必须始终在“选择要导出的字段”中选择的第一件事是“订单 ID”,无论您要获取什么字段。
一旦我们有了订单号,我们就可以对postmeta
.
meta_key
字段中的所有数据执行不同的调用例如,在这种情况下,如果客户已指定,我想获取公司名称,如果没有(公司字段为空),请输入他们的名字和姓氏。
<?php
function cliente_jr( $post_id ) {
$empresa_jr = get_post_meta( $post_id, '_shipping_company', true );
$nombrefac_jr = get_post_meta( $post_id, '_shipping_first_name', true );
$apellidofac_jr = get_post_meta( $post_id, '_shipping_last_name', true );
if(strlen($empresa_jr) > 1) {
return $empresa_jr;
} else {
return $nombrefac_jr." ".$apellidofac_jr;
}
}
?>
从那里可以毫无问题地调用 postmeta 表的任何字段,我已将其应用于不同的结果和公式,并且在所有结果和公式中它都完美运行。希望它将来对您有用。
[company_conditioning_first( {Billing Company},{Shipping First Name},{Shipping Last Name})]
无需使用订单 ID 字段。请参阅工作导出宽度三个变量中两个自定义字段的屏幕截图。功能:
function company_conditioning_second($_shipping_company,$_shipping_firstname,$_shipping_lastname){if(strlen($_shipping_company) > 2){return $_shipping_firstname.''.$_shipping_lastname;}}