Woocommerce将订单从管理屏幕添加到AgileCRM

时间:2018-06-28 06:15:23

标签: woocommerce hook-woocommerce

我正在尝试将woocommerce集成到AgileCRM中。参考下面的问题,我认为此插件有相同的问题,即订单详细信息只有在通过前端结帐时才在CRM平台中更新。

WooCommerce hook for order creation from admin

我的问题是我不是插件开发人员,AgileCRM团队说,我们可能必须为此编写自己的代码。可惜他们可以在几分钟之内做到这一点,而我不得不挖掘每个功能并学习插件开发。

我发现作为插件注册的一部分,它在

中具有此功能。

funtions.php

function AgileWC_order_status_changed()
{
    global $AGILEWC_SYNC_OPTIONS;
    $ordersArr = func_get_args();
    $wcorder = new WC_Order($ordersArr[0]);
    $order = AgileWC_getOrder($wcorder);

    $orderHook = AgileCRM::$hooks['order.updated'];
    if (isset($_SESSION['agileWCOrderHook'])) {
        $orderHook = $_SESSION['agileWCOrderHook'];
        unset($_SESSION['agileWCOrderHook']);
    }

    $agilecrm = new AgileCRM();
    $agilecrm->customerEmail = $wcorder->billing_email;
    $agilecrm->hook = $orderHook;
    $agilecrm->payLoad = array("order" => $order);
    $agilecrm->syncAsTags = "";

    if (isset($AGILEWC_SYNC_OPTIONS['sync_product_tags'])) {
        $agilecrm->syncAsTags .= "_products";
    }
    if (isset($AGILEWC_SYNC_OPTIONS['sync_category_tags'])) {
        $agilecrm->syncAsTags .= "_categories";
    }

    $agilecrm->post();
}

并且在插件注册功能中,有此代码

if ($AGILEWC_DOMAIN && $AGILEWC_KEY) {
    if (is_array($AGILEWC_SYNC_OPTIONS)) {
        if (isset($AGILEWC_SYNC_OPTIONS['track_visitors']) || isset($AGILEWC_SYNC_OPTIONS['web_rules'])) {
            add_action('wp_footer', 'AgileWC_script');
        }

        if (isset($AGILEWC_SYNC_OPTIONS['sync_customers'])) {
            add_action('woocommerce_checkout_order_processed', 'AgileWC_created_customer');
        }

        if (isset($AGILEWC_SYNC_OPTIONS['sync_orders'])) {
            add_action('woocommerce_new_order', 'AgileWC_new_order');
            add_action('woocommerce_order_status_changed', 'AgileWC_order_status_changed');

           add_action('save_post_shop_order','AgileWC_order_status_changed');

            add_action('woocommerce_new_customer_note', 'AgileWC_new_customer_note');
        }
    }
}

//由我添加,但没有任何操作 add_action('save_post_shop_order','AgileWC_order_status_changed');

现在,我已经阅读了一些帖子,其中没有woocommerce钩子可用于调用Admin创建的订单。

现在我的问题是,有没有人解决此问题,如果有任何帮助,我可以解决此问题。

谢谢, 乔塔姆

0 个答案:

没有答案