wordpress管理画面上で
検索した情報をcsvに書き出したいのですが、うまくいきません。どなたかご教授お願いします。
function search_menu_page() {
global $wpdb;
$search_kiji_id = isset($_POST['kiji-id']) ? $_POST['kiji-id']: "";
$search_kiji_title = isset($_POST['kiji-title']) ? $_POST['kiji-title']: "";
if (!empty($search_kiji_id)) {
$sql = $wpdb->get_results("SELECT * FROM wp_posts WHERE id = '$search_kiji_id'" ,ARRAY_A);
$message = (!$sql) ? "該当するデータはありません。" : "該当するデータが".count($sql)."件ありました。";
}
if (!empty($search_kiji_title)) {
$sql = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_title = '$search_kiji_title'" ,ARRAY_A);
$message = (!$sql) ? "該当するデータはありません。" : "該当するデータが".count($sql)."件ありました。";
}
?>
<div class="wrap">
<form class="" action="recipe.csv" method="post">
<dl class="">
<dt style="display: inline-block; width: 100px;"><label for="">記事ID</label></dt>
<dd style="display: inline-block; width: 100px;"><input name="kiji-id" type="text" value=""></dd><br>
<dt style="display: inline-block; width: 100px;">記事タイトル</dt>
<dd style="display: inline-block; width: 100px;"><input name="kiji-title" type="text"></dd><br>
<dt style="display: inline-block; width: 100px;">レシピID</dt>
<dd style="display: inline-block; width: 100px;"><input name="レシピID" type="text"></dd><br>
<dt style="display: inline-block; width: 100px;">レシピ名</dt>
<dd style="display: inline-block; width: 100px;"><input name="レシピ名" type="text"></dd><br>
<dt style="display: inline-block; width: 100px;">商品ID</dt>
<dd style="display: inline-block; width: 100px;"><input name="商品ID" type="text"></dd><br>
<dt style="display: inline-block; width: 100px;">商品名</dt>
<dd style="display: inline-block; width: 100px;"><input name="商品名" type="text"></dd><br>
</dl>
<button type="search" name="検索" value="検索">出力</button>
</div>
<p>
<?php echo $message; ?>
</p>
<?php
$file = new SplFileObject('recipe.csv', 'w');
if (!empty($sql)) {
foreach ($sql as $row ) {
mb_convert_variables('SJIS', 'UTF-8', $row);
$file->fputcsv($row);
}
}
?
function test_admin_menu() {
add_menu_page( 'レシピ検索', 'レシピ検索', 'read', basename(__FILE__), 'search_menu_page' );
}
add_action( 'admin_menu', 'test_admin_menu' );