Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 Wordpress-在ajax操作中使用插件_Php_Ajax_Wordpress_Woocommerce - Fatal编程技术网

Php Wordpress-在ajax操作中使用插件

Php Wordpress-在ajax操作中使用插件,php,ajax,wordpress,woocommerce,Php,Ajax,Wordpress,Woocommerce,上下文 我正试图在WooCommerce管理界面中创建一个自定义的“导出到物流”按钮,特别是在Orders表中 单击该按钮时,将显示一个菜单(以弹出窗口形式),其中包含一些微小的附加选项 提交时,表单应触发输入的表单数据,以及一些要发送给物流公司的订单信息(如发货地址) 我可以很好地显示按钮和弹出窗口,也可以成功地进行ajax调用 问题 问题在于在AJAX操作中从WooCommerce订单获取附加信息。出于某种原因,我似乎无法在这个AJAX操作中调用特定于WooCommerce的函数。我猜它没有

上下文
我正试图在WooCommerce管理界面中创建一个自定义的“导出到物流”按钮,特别是在Orders表中

  • 单击该按钮时,将显示一个菜单(以弹出窗口形式),其中包含一些微小的附加选项
  • 提交时,表单应触发输入的表单数据,以及一些要发送给物流公司的订单信息(如发货地址)
  • 我可以很好地显示按钮和弹出窗口,也可以成功地进行ajax调用

    问题
    问题在于在AJAX操作中从WooCommerce订单获取附加信息。出于某种原因,我似乎无法在这个AJAX操作中调用特定于WooCommerce的函数。我猜它没有正确地加载,但不知道如何优雅地加载。WooCommerce函数
    wc\u get\u order($order\u id)
    应该返回一个wc\u order对象(就像在弹出窗口生成中一样),但只返回false

    这是表单代码,没有什么特别的:

    // POPOVER HTML/CSS
    <form action="<?php echo wp_nonce_url( admin_url( 'admin-ajax.php?action=vanlent_submit_export&order_id=' . $order->id ), 'send_to_vanlentlogistics' ); ?>" method="post">
        <label><input type="checkbox" name="extra_groot_formaat" value="extragrootformaat"> Extra groot formaat</label><br>
        <label><input type="checkbox" name="handtekening" value="handtekening"> Handtekening voor ontvangst</label><br>
        <label><input type="checkbox" name="brievenbuspakje" value="brievenbuspakje"> Brievenbuspakje</label><br>
        <input style="margin-top:15px;" type="submit" value="<?php _e('Exporteren', 'vanlent'); ?>" class="button button-primary action">
    </form>
    

    你解决了这个问题吗?如果不是,我怀疑问题与
    $order\u id
    未正确传递到
    wc\u get\u order
    有关。当您
    var\u dump($order\u id)时会得到什么
    // EXPORT
    add_action( 'wp_ajax_vanlent_submit_export', 'vanlent_submit_export' );
    function vanlent_submit_export() {
        $nonce = $_REQUEST['_wpnonce'];
        $order_id = $_REQUEST['order_id'];
    
        if ( ! wp_verify_nonce( $nonce, 'send_to_vanlentlogistics' ) ) {
            wp_die( 'Not allowed' );
        } else {
            $order = wc_get_order($order_id);
            $order->update_status('processing', 'order_note');
            var_dump($order); // Try echo'ing it for now
        }
    }