私は、 'CSVへのユーザーエクスポート'を使用しています。デフォルトでは、プラグインはwp_usersとwp_usermetaのみを抽出しますユーザー情報をCSVにエクスポートする - 追加の列
私はwp_postsからpost_titleカラムを追加したいと思っています。私はCSVファイルに 'post_title'を引き出すことができましたが、それぞれの行に正しく配置されていません。私は私の説明が混乱しないことを願う
global $wpdb;
$data_keys = array(
'ID', 'user_login', 'user_pass',
'user_nicename', 'user_email', 'user_url',
'user_registered', 'user_activation_key', 'user_status',
'display_name'
);
$meta_keys = $wpdb->get_results("SELECT distinct(meta_key) FROM $wpdb->usermeta");
$meta_keys = wp_list_pluck($meta_keys, 'meta_key');
$fields = array_merge($data_keys, $meta_keys);
$headers = array();
foreach ($fields as $key => $field) {
if (in_array($field, $exclude_data))
unset($fields[$key]);
else
$headers[] = '"' . strtolower($field) . '"';
}
echo implode(',', $headers) . "\n";
foreach ($users as $user) {
$data = array();
foreach ($fields as $field) {
$value = isset($user->{$field}) ? $user->{$field} : '';
$value = is_array($value) ? serialize($value) : $value;
$data[] = '"' . str_replace('"', '""', $value) . '"';
}
echo implode(',', $data) . "\n";
}
編集されたバージョン
global $wpdb;
$data_keys = array(
'ID', 'user_login', 'user_pass',
'user_nicename', 'user_email', 'user_url',
'user_registered', 'user_activation_key', 'user_status',
'display_name'
);
$meta_keys = $wpdb->get_results("SELECT distinct(meta_key) FROM $wpdb->usermeta");
$meta_keys = wp_list_pluck($meta_keys, 'meta_key');
$post_keys = $wpdb->get_results("SELECT distinct(post_title) FROM $wpdb->posts");
$post_keys = wp_list_pluck($post_keys, 'post_title');
$fields = array_merge($data_keys, $meta_keys, $post_keys);
$headers = array();
foreach ($fields as $key => $field) {
if (in_array($field, $exclude_data))
unset($fields[$key]);
else
$headers[] = '"' . strtolower($field) . '"';
}
echo implode(',', $headers) . "\n";
foreach ($users as $user) {
$data = array();
foreach ($fields as $field) {
$value = isset($user->{$field}) ? $user->{$field} : '';
$value = is_array($value) ? serialize($value) : $value;
$data[] = '"' . str_replace('"', '""', $value) . '"';
}
echo implode(',', $data) . "\n";
}
:
私の編集したコードと元のコード
のorignalバージョンを参照してください。乾杯!
ここでは、より良い、それを説明するためのイメージです。
https://www.dropbox.com/s/xijkb4fp16atcx3/question-jpeg.jpg?dl=0
実際には間違っています投稿タイトルを引き出すことはできますが、ユーザーごとにアレンジされません。投稿のタイトルが長い長い水平のセルに出てきました。画像の最後にhttps://www.dropbox.com/s/xijkb4fp16atcx3/question-jpeg.jpg?dl=0をチェックしてください。私が望む –
私は正しいかどうか確認してください:http://prntscr.com/93967h –
'FROM $ wpdb-> posts'の後の' ''を削除してください –