这看起来像是一个模板文件。如果是,功能add_header_info
连接到send_headers
很久以后send_headers
已经开火了。您需要移动该代码,以便它能够更早地执行。它应该从mu插件文件、插件文件或主题的functions.php
.
然而$FileType
这些其他变量将超出范围。(它们已经超出了代码的范围。)在我看来,您可以通过在回调中移动所有代码来解决这个问题。
function add_header_info() {
global $wpdb, $FileContent;
$mydataset = $wpdb->get_row("SELECT * FROM wp_attachments WHERE ID = 1119");
$recordID = $mydataset->ID;
$FileType = $mydataset->FileType;
$FileSize = $mydataset->FileSize;
$FileName = $mydataset->FileName;
$FileContent = $mydataset->FileContent;
header("Content-Type: ". $FileType);
header("Content-Length: ". $FileSize);
header("Content-Disposition: attachment; filename=". $FileName);
}
add_action( \'send_headers\', \'add_header_info\' );
在模板中使用以下内容
echo
文件内容:
global $FileContent;
echo $FileContent;
// or
// echo $GLOBAL[$FileContent];
但这将在每个不好的页面上运行,因此您需要在回调中添加swithc。
function add_header_info() {
if (!is_page(\'page-slug\')) return;
global $wpdb, $FileContent;
// ...