将PHP变量传递到Wordpress项目中包含的文件

将PHP变量传递到Wordpress项目中包含的文件,php,wordpress,Php,Wordpress,对于下面的代码,我需要在invoice.php文件中写入所有php变量数据,这样我就可以使用转换后的invoice.pdf的动态数据获得更新后的文件 $invoice_price = get_user_meta( $user_id, "_issuem_leaky_paywall_live_price", TRUE); $invoice_package = get_user_meta( $user_id, "_issuem_leaky_paywall_live_description", TRUE

对于下面的代码,我需要在invoice.php文件中写入所有php变量数据,这样我就可以使用转换后的invoice.pdf的动态数据获得更新后的文件

$invoice_price = get_user_meta( $user_id, "_issuem_leaky_paywall_live_price", TRUE);
$invoice_package = get_user_meta( $user_id, "_issuem_leaky_paywall_live_description", TRUE);
$invoice_number = get_user_meta( $user_id, "_issuem_leaky_paywall_live_subscriber_id", TRUE);
$date = date ('DD-MM-YY');

include ( ABSPATH . 'invoice.php');
require ( ABSPATH . 'pdfcrowd.php');

try
  {
  // create an API client instance
  $client = new Pdfcrowd("apiname", "apikey");
 // converted php file and store the generated PDF inside uploads  
 $fd = fopen( ABSPATH . 'wp-content/uploads/invoice.pdf', 'wb');
 $client->convertFile( ABSPATH . 'invoice.php', $fd );
 fclose($fd);

它只转换了静态内容,没有为发票传递PHP变量数据

事实上,我认为使用converHtml对您更有效。你可以用

$invoice_price = get_user_meta( $user_id, "_issuem_leaky_paywall_live_price", TRUE);
$invoice_package = get_user_meta( $user_id, "_issuem_leaky_paywall_live_description", TRUE);
$invoice_number = get_user_meta( $user_id, "_issuem_leaky_paywall_live_subscriber_id", TRUE);
$date = date ('DD-MM-YY');

include ( ABSPATH . 'invoice.php');
require ( ABSPATH . 'pdfcrowd.php');

try
  {
  // create an API client instance
  $client = new Pdfcrowd("apiname", "apikey");
 // converted php file and store the generated PDF inside uploads  
 $fd = fopen( ABSPATH . 'wp-content/uploads/invoice.pdf', 'wb');
 $client->convertFile( ABSPATH . 'invoice.php', $fd );
 fclose($fd);
ob_start();
include ( ABSPATH . 'invoice.php');
$content = ob_get_clean();
然后在中使用$content作为第一个参数

$invoice_price = get_user_meta( $user_id, "_issuem_leaky_paywall_live_price", TRUE);
$invoice_package = get_user_meta( $user_id, "_issuem_leaky_paywall_live_description", TRUE);
$invoice_number = get_user_meta( $user_id, "_issuem_leaky_paywall_live_subscriber_id", TRUE);
$date = date ('DD-MM-YY');

include ( ABSPATH . 'invoice.php');
require ( ABSPATH . 'pdfcrowd.php');

try
  {
  // create an API client instance
  $client = new Pdfcrowd("apiname", "apikey");
 // converted php file and store the generated PDF inside uploads  
 $fd = fopen( ABSPATH . 'wp-content/uploads/invoice.pdf', 'wb');
 $client->convertFile( ABSPATH . 'invoice.php', $fd );
 fclose($fd);
$client->convertHtml($content,$fd);
这是我得到这个的医生:

我没有使用PDF群组,但看起来您正在将convertFile方法发送给invoice.php文件的原始未更改版本。我认为您需要在包含所有php变量的include语句之后创建一个新的html文件。然后使用该文件作为第一个参数。您好,user3080408,虽然它在本地运行,但在live dev站点上的内容仍然没有获得php值。有什么线索吗?您可以发布与live站点上完全相同的代码吗?一般来说,如果您将代码从一台服务器移动到另一台服务器,并且行为发生了变化,那么您将查看新服务器的环境,以查看是否有干扰。
$invoice_price = get_user_meta( $user_id, "_issuem_leaky_paywall_live_price", TRUE);
$invoice_package = get_user_meta( $user_id, "_issuem_leaky_paywall_live_description", TRUE);
$invoice_number = get_user_meta( $user_id, "_issuem_leaky_paywall_live_subscriber_id", TRUE);
$date = date ('DD-MM-YY');

include ( ABSPATH . 'invoice.php');
require ( ABSPATH . 'pdfcrowd.php');

try
  {
  // create an API client instance
  $client = new Pdfcrowd("apiname", "apikey");
 // converted php file and store the generated PDF inside uploads  
 $fd = fopen( ABSPATH . 'wp-content/uploads/invoice.pdf', 'wb');
 $client->convertFile( ABSPATH . 'invoice.php', $fd );
 fclose($fd);