我有两种方法:
1) -csv导出功能-在wp输出任何内容之前,检测是否需要特殊的内容类型处理。
add_action (\'plugins_loaded\', \'amr_meta_handle_csv\');
function amr_meta_handle_csv ($csv, $suffix=\'csv\') {
// chcek if there is a csv request on this page BEFORE we do anything else ?
if (( isset ($_POST[\'csv\']) )) {
// do some stuff
to_csv ($csv, $suffix)
}
}
function to_csv ($csv, $suffix) {
/* create a csv file for download */
if (!isset($suffix)) $suffix = \'csv\';
$file = \'userlist-\'.date(\'YmdHis\').\'.\'.$suffix;
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=$file");
header("Pragma: no-cache");
header("Expires: 0");
echo $csv;
exit(0); /* Terminate the current script sucessfully */
}
另一种方法更面向feed,但原理相同,除了wp进行特殊处理检测(检查feed=ics或)。将add\\u feed代码放入init操作中。
add_feed(\'ics\', \'ical_feed\');
函数“ical\\u feed”然后执行整个标题等操作。