javascript - 如何在 WooCommerce 3 中进行调试

标签 javascript php wordpress debugging woocommerce

我正在使用本教程 https://docs.woocommerce.com/document/shipping-method-api/ 为 Woocommerce 创建自定义运输方式,但我在调试时遇到问题。每当用户更新运输方式时,Woocommerce 调用计算运输。我已经用以下内容覆盖了这个功能。

public function calculate_shipping( $package ) {
    // This is where you'll add your rates
    $rate = array(
      'idea' => $this->id,
      'label' => $this->title,
      'cost' => '90.00',
      'calc_tax' => 'per_item'
    );
    echo "<script>console.log('Calculating shipping');</script>";
    $this->add_rate($rate);
  }

最后,我有一种计算“成本”的相当复杂的方法,但我无法调试它,因为该 echo 行在 chrome 控制台中不产生任何输出。任何想法这里发生了什么?

任何帮助将非常感激。谢谢你。

最佳答案

As this is a background process on server side, don't use javascript.


1)。 WC 日志和 WooCommerce 中的 WC_Logger Class 以便更好地调试
要从仪表板轻松访问日志结果, 您可以登录到 WC 记录器 而不是错误日志。
您可以通过转到 WooCommerce > 系统状态 > 日志来访问错误日志。
然后您将能够选择和“查看”您需要的错误日志文件,为您提供所需的调试详细信息。错误日志也位于站点安装中的/wc-logs 文件夹中。
对捕获的异常运行堆栈跟踪(示例):
// Log any exceptions to a WC logger
$log = new WC_Logger();
$log_entry = print_r( $e, true );
$log_entry .= 'Exception Trace: ' . print_r( $e->getTraceAsString(), true );
$log->log( 'new-woocommerce-log-name', $log_entry );

Notes:


例如:
$logger = wc_get_logger();
$logger->debug( 'debug message', array( 'source' => 'my-extension' ) );
有关的:
  • 开发 WooCommerce 博客(2017 年 1 月):Improved logging in WooCommerce 3
  • WC_Logger available methods
  • 文档

    2)。 使用 WordPress 进行调试 WP_DEBUG 日志 (作为替代)
    a) 首先编辑您的 wp-config.php 文件,添加以下几行以启用调试(如果这些已经定义,请编辑值):
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    
    当错误被记录下来时,它们应该出现在 wp-content/debug.log 中。您可以在文本编辑器中打开此文件。
    b) 在您的代码上:使用以下内容(其中 $variable 是要显示在错误日志中的变量:
    error_log( print_r( $variable, true ) );
    
    现在您将获得用于调试的数据。

    关于javascript - 如何在 WooCommerce 3 中进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61740111/

    相关文章:

    javascript - 鼠标输入时显示标题

    php - 如何正确地将变量插入为生成的 JavaScript 值的值?

    php - mysql语句获取给定行id在有序结果集中的排名

    jquery - 如何从帖子的单个*页面*获取内容?

    javascript - 如何将此动态内容转换为 JavaScript 数组?

    html - 如何添加具有自定义背景和边框的 html 文本

    javascript - 从 GSP 到 Controller 的 Grails 参数为空

    javascript - NodeJs MVC架构,这是通心粉代码吗?

    javascript - react : Application works on desktop but on mobile a blank page is shown

    php - 我的 sql SELECT 错误