0

我正在使用一个函数来执行一个发送带有附件的电子邮件的代码。此功能连接到来自 woocommerce 的过滤器。

我想重建这个函数来执行来自外部 php 文件的代码。这在 Wordpress 中可行吗?

我想从外部脚本执行它的原因是因为我想要更多功能,电子邮件的发件人和附件是从会话中生成的。

在我的孩子主题的function.php-

function send_invoice () 
{
    $attachments = array( WP_CONTENT_DIR . '/themes/mytheme/invoices/invoice.pdf' );
    wp_mail( 'targetmail@domain.com', 'Attachment test', 'The message', 'header', $attachments);
}
add_filter( 'woocommerce_email_attachments', 'send_invoice' );

有没有办法从我的functions.php 执行一个php 文件?

进一步阐述:我正在尝试将以前的脚本转换为:Functions.php

function execute_send_invoice () {
    send_invoice();
}   
add_filter( 'woocommerce_email_attachments', 'execute_send_invoice' );

然后是 send_invoice() 的代码;在我的functions.php 之外的某个地方,例如,在位于我的模板目录中的myscript.php 中。

4

2 回答 2

1

不用说,在 PHP 中运行外部脚本时应该非常小心。

如果在执行 PHP 文件之前 wordpress 没有进行某种准备工作,那么运行外部代码有两种主要方法。使用第一个,您必须进一步将 PHP 包含在<?php ?>标签中,但这是我个人的建议。

include('full_or_relative_php_path_to_file.php');

或者

eval(file_get_contents('full_or_relative_php_path_to_file.php'));
于 2013-08-26T14:45:32.957 回答
0
于 2013-08-26T14:43:44.930 回答