我正在使用一个函数来执行发送带附件的电子邮件的代码。 此功能可以连接到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中,它位于我的模板目录中。
答案 0 :(得分: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'));
答案 1 :(得分:0)
如果functions.php
文件位于当前活动的主题内,则默认包含该文件。因此,您可以像平常那样访问和调用函数(就好像它是在您将调用函数的同一页面上定义的那样)。