php 导出csv换列,php – 将用户信息导出到CSV – 附加列

我正在使用“导出用户到CSV”一个WordPress插件.默认情况下,插件只提取wp_users和wp_usermeta

我一直想从wp_posts添加post_title列.我能够将“post_title”拉出到CSV文件中,但是它没有在相应的行中正确放置.

请参阅我编辑的代码和原始代码

Orignal版本:

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";

}

我希望我的解释不会令人困惑.干杯!

这是一个更好地解释它的形象:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值