我正在寻找一个Wordpress插件,它可以获取页面内容的一部分 - 例如价目表 - 并将其导出为CSV。所以我可以放置一个"下载CSV"用户可以单击的页面上的链接。
如果您知道插件是否可以执行此操作,或者可以轻松修改以执行此操作,我将非常感激。
答案 0 :(得分:0)
这是我写的关于帮助别人的机会的代码:
add_action('wp', 'generate_csv');
function generate_csv()
{
if ('csv' == (isset($_GET['format']) ? $_GET['format'] : null)) {
$calendar_shortcode_id = get_field("calendar_shortcode_id");
if($calendar_shortcode_id) {
global $post;
$shortcode = "[google-calendar-events id='$calendar_shortcode_id' type='list']";
$html = do_shortcode($shortcode);
$doc = new DOMDocument(); $doc->loadHTML($html);
$titles = array();
$table=$doc;
$a=0;
$delim = "";
$csv="";
$num_cols=5;
foreach($table->getElementsByTagName('span') as $td) {
if($a==0) {$delim = "";}
if($a<$num_cols) { $csv .= $delim . '"' . $td->nodeValue. '"';
$delim = ",";
}
if($a==($num_cols-1)) { $csv .= "\n";$a=-1;}
$a++;
}
header('Content-Encoding: UTF-8');
header("Content-type: text/csv; charset=utf-8");
header("Content-Disposition: attachment; filename=".$post->post_name.".csv");
echo "\xEF\xBB\xBF"; // UTF-8 BOM
echo utf8_decode($csv);
exit;
}
}
}