Wordpress - 在函数文件中使用 Dompdf

Wordpress - Use Dompdf in functions file

我正在尝试在我的 Wordpress 网站上生成一些 PDF,我有一个 AJAX 调用调用了我的 functions.php 文件中的一个函数,但我目前甚至无法获得 Dompdf 库加载。

我的 dompdf 文件夹的位置是 wp-content/mytheme/inc/dompdf,这是我的函数:

function generate_pdf() {
  require_once(get_template_directory_uri().'/inc/dompdf/autoload.inc.php');
}
add_action('wp_ajax_generatepdf', 'generate_pdf');

还有我的 AJAX 电话:

$.ajax({
    type: 'POST',
    url: myobject.ajaxurl + '?action=generatepdf',
    data: pdfHTML
}).done(function(data) {
    console.log(data);
});

当我查看 admin-ajax.php 调用的网络选项卡时,响应仅显示:

There has been a critical error on your website.

Learn more about debugging in WordPress.

如果我注释掉 require_once 行并回显要求路径,它会在响应中显示 autoload.inc.php 的正确路径。我启用了 WP_DEBUG,但我在响应中得到的只是一般错误。关于问题可能是什么或者我如何获得更具体的调试响应的任何想法?

您正在使用 get_template_directory_uri,这是基于网络的绝对路径。相反,您想使用 get_template_directory() 这将为您提供基于文件系统的路径。

此外,如果您使用的是儿童主题,您可能需要 get_stylesheet_directory