いつもお世話になっております。
add_menu_page関数を使用して、Wordpress管理画面に項目を追加しました。
add_action('admin_menu', 'my_plugin_menu'); function my_plugin_menu() { add_menu_page('csv', 'csv', 8, 'csv', 'my_plugin_options', '', 5); } function my_plugin_options() { require TEMPLATEPATH . '/csv.php'; }
やりたいことは、「CSVダウンロード」ボタンを押して指定した記事情報をCSV出力したいです。
下記コード(csv.phpファイルの内容)だと、「CSVダウンロード」ボタンを押すと管理画面のソースコードがcsv出力されてしまいます。
<?php if ( $_REQUEST['csv01'] ) { $csv = ''; $args = array( 'post_type' => 'news', 'numberposts' => -1, 'order' => 'DESC' ); $articles = get_posts( $args ); if ( $articles ) : foreach ( $articles as $article ) : $csv .= $article->ID; $csv .= ','; $csv .= $article->post_title; $csv .= '\n'; endforeach; endif; header( 'Content-Type: application/octet-stream' ); $todate = date( 'Ymd_His' ); header( 'Content-Disposition: attachment; filename=' . $todate . '.csv' ); echo mb_convert_encoding( $csv, 'SJIS', 'UTF-8' ); exit(); } ?> <form method="POST" action="admin.php?page=csv"> <input type="hidden" value="csv1" name="csv01"> <input type="submit" value ="CSVダウンロード"> </form>
ご教授よろしくお願いいたします。
あなたの回答
tips
プレビュー