classes/models/class.csv.php 内のメンバー関数 get_rows() が下記のようになっているので
foreach ( $headings as $key => $value ) {
if ( $key === 'response_status' ) {
// 中略
} elseif ( isset( $post->$key ) ) {
$post_meta = $post->$key;
if ( $Contact_Data_Setting->is_upload_file_key( $post, $key ) ) {
// 中略
} else {
$column = ( $post_meta ) ? $post_meta : ''; // ※※ここで空文字列になる
}
}
$columns[$key] = $column;
}
とりあえず ※※ を次のように修正すればゼロを書き出せます。
if ( '0' === $post_meta ) $column = $post_meta; else
$column = ( $post_meta ) ? $post_meta : '';
うまくいきました!ありがとうございました。
ただ、やはりプラグインをいじると直せることはわかりますが、バージョンアップなどで戻ってしまいますので、本当は作者の方に対応していただけるとうれしいですね。
フォームの集計等でcsvでゼロの値を使いたいというケースは結構あると思います。
よかったですね。もうひとつ
問い合わせデータの一覧画面では0の値が表示されない
については classes/controllers/class.contact-data-list.php のメンバー関数 add_form_columns() の中が次のようになっているので
if ( $Contact_Data_Setting->is_upload_file_key( $post, $column ) ) {
// 中略
} elseif ( $post_meta ) { // ※※これが '0' なら else へ分岐。
$value = esc_html( $post_meta );
} else {
$value = ' ';
}
※※ の条件を次のように修正すると 0 が表示されます。
$post_meta || '0' === $post_meta