2012-11-22 53 views
0

我試圖建立按需定製的zip文件,並發現一些代碼,似乎很好地工作 http://www.9lessons.info/2012/06/creating-zip-file-with-php.html添加了HTTP報頭到WordPress

我已經插入的代碼在我的wordpress模板,唯一的一點是該header()

有模板加載

之前發送我怎麼能做到這一點與WordPress?

繼承人與頭

$zip = new ZipArchive();   // Load zip library 
$zip_name = time().".zip";   // Zip name 
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE){  // Opening zip file to load files 
    $error .= "* Sorry ZIP creation failed at this time<br/>"; 
} 
foreach($post['files'] as $file){    
    $zip->addFile($file_folder.$file);   // Adding files into zip 
} 
$zip->close(); 
if(file_exists($zip_name)){ 
    // push to download the zip 
    header('Content-type: application/zip'); 
    header('Content-Disposition: attachment; filename="'.$zip_name.'"'); 
    readfile($zip_name); 
    // remove zip file is exists in temp path 
    unlink($zip_name); 
} 

回答

1

您需要使用執行的WordPress加添什麼輸出前的鉤碼。一種這樣的鉤是「初始化」

function do_my_stuff_with_headers() { 
    // ... 
} 
add_action('init', 'do_my_stuff_with_header'); 
+1

注意:有一個[send_headers](https://codex.wordpress.org/Plugin_API/Action_Reference/send_headers)鉤用於此目的的 – tobymackenzie

+0

「初始化」操作是錯誤的這裏。正確的掛鉤位於「template_redirect」處,以便您隻影響站點的前端視圖。 – Tici