WP All 导出带功能的条件字段

问题描述 投票:0回答:3

我使用 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

php wordpress function wpallimport
3个回答
0
投票
如果客户已注册,我已经能够解决它,主要问题是 WP ALL Export 中的函数不接受多个变量,因此必须从函数调用结果。

如果客户端注册了,因为我可以从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; } } ?>
    

0
投票
我已经设法解决了“postmeta”表上的任何字段的问题

您必须始终在“选择要导出的字段”中选择的第一件事是“订单 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 表的任何字段,我已将其应用于不同的结果和公式,并且在所有结果和公式中它都完美运行。

希望它将来对您有用。


0
投票
您可以使用自定义导出字段和 WP Allexport 短代码,即:

[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;}}

图片示例自定义导出字段

© www.soinside.com 2019 - 2024. All rights reserved.