用户列表页面需要 "Export" link
Need "Export" link in user list page
我想在 www.mysamplewebsite.com/wp-admin/users.php 页面的用户列表页面上添加名为 "Export" 的新 link,如果用户点击它,它应该以 csv 或 excel 格式导出所有添加的用户。
我已经搜索过插件,但所有插件都允许在不同的菜单中执行此操作,但根据客户的要求,我需要遵循此 ..
我们是否有任何可用的 wordpress 挂钩或我可以从中实现这些东西的任何其他东西?我已经四处搜索,但尚未根据 wordpress 流程找到合适的解决方案..
有人可以帮助我使用任何 wordpress 钩子或其他东西来实现这个目标吗...
期待..
谢谢
https://wordpress.org/plugins/export-user-data/screenshots/
https://wordpress.org/plugins/export-users-data-to-csv/
https://wordpress.org/plugins/wp-all-export/
https://wordpress.org/plugins/export-users-to-csv/
这些插件将帮助您实现您想要实现的目标
我认为应该这样做:
<?php
/********* Export to csv ***********/
add_action('admin_footer', 'mytheme_export_users');
function mytheme_export_users() {
$screen = get_current_screen();
if ( $screen->id != "users" ) // Only add to users.php page
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($)
{
$('.tablenav.top .clear, .tablenav.bottom .clear').before('<form action="#" method="POST"><input type="hidden" id="mytheme_export_csv" name="mytheme_export_csv" value="1" /><input class="button button-primary user_export_button" style="margin-top:3px;" type="submit" value="<?php esc_attr_e('Export All as CSV', 'mytheme');?>" /></form>');
});
</script>
<?php
}
add_action('admin_init', 'export_csv'); //you can use admin_init as well
function export_csv() {
if (!empty($_POST['mytheme_export_csv'])) {
if (current_user_can('manage_options')) {
header("Content-type: application/force-download");
header('Content-Disposition: inline; filename="users'.date('YmdHis').'.csv"');
// WP_User_Query arguments
$args = array (
'order' => 'ASC',
'orderby' => 'display_name',
'fields' => 'all',
);
// The User Query
$blogusers = get_users( $args );
// Array of WP_User objects.
foreach ( $blogusers as $user ) {
$meta = get_user_meta($user->ID);
$role = $user->roles;
$email = $user->user_email;
$first_name = ( isset($meta['first_name'][0]) && $meta['first_name'][0] != '' ) ? $meta['first_name'][0] : '' ;
$last_name = ( isset($meta['last_name'][0]) && $meta['last_name'][0] != '' ) ? $meta['last_name'][0] : '' ;
echo '"' . $first_name . '","' . $last_name . '","' . $email . '","' . ucfirst($role[0]) . '"' . "\r\n";
}
exit();
}
}
}
第一部分将在用户 table 的页眉和页脚中的 table 导航中添加一个按钮。单击它时,您将调用下面的 export_csv()
函数。当然,您可以根据自己的喜好自定义它。
希望这对您有所帮助:)
我想在 www.mysamplewebsite.com/wp-admin/users.php 页面的用户列表页面上添加名为 "Export" 的新 link,如果用户点击它,它应该以 csv 或 excel 格式导出所有添加的用户。
我已经搜索过插件,但所有插件都允许在不同的菜单中执行此操作,但根据客户的要求,我需要遵循此 ..
我们是否有任何可用的 wordpress 挂钩或我可以从中实现这些东西的任何其他东西?我已经四处搜索,但尚未根据 wordpress 流程找到合适的解决方案..
有人可以帮助我使用任何 wordpress 钩子或其他东西来实现这个目标吗...
期待..
谢谢
https://wordpress.org/plugins/export-user-data/screenshots/
https://wordpress.org/plugins/export-users-data-to-csv/
https://wordpress.org/plugins/wp-all-export/
https://wordpress.org/plugins/export-users-to-csv/
这些插件将帮助您实现您想要实现的目标
我认为应该这样做:
<?php
/********* Export to csv ***********/
add_action('admin_footer', 'mytheme_export_users');
function mytheme_export_users() {
$screen = get_current_screen();
if ( $screen->id != "users" ) // Only add to users.php page
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($)
{
$('.tablenav.top .clear, .tablenav.bottom .clear').before('<form action="#" method="POST"><input type="hidden" id="mytheme_export_csv" name="mytheme_export_csv" value="1" /><input class="button button-primary user_export_button" style="margin-top:3px;" type="submit" value="<?php esc_attr_e('Export All as CSV', 'mytheme');?>" /></form>');
});
</script>
<?php
}
add_action('admin_init', 'export_csv'); //you can use admin_init as well
function export_csv() {
if (!empty($_POST['mytheme_export_csv'])) {
if (current_user_can('manage_options')) {
header("Content-type: application/force-download");
header('Content-Disposition: inline; filename="users'.date('YmdHis').'.csv"');
// WP_User_Query arguments
$args = array (
'order' => 'ASC',
'orderby' => 'display_name',
'fields' => 'all',
);
// The User Query
$blogusers = get_users( $args );
// Array of WP_User objects.
foreach ( $blogusers as $user ) {
$meta = get_user_meta($user->ID);
$role = $user->roles;
$email = $user->user_email;
$first_name = ( isset($meta['first_name'][0]) && $meta['first_name'][0] != '' ) ? $meta['first_name'][0] : '' ;
$last_name = ( isset($meta['last_name'][0]) && $meta['last_name'][0] != '' ) ? $meta['last_name'][0] : '' ;
echo '"' . $first_name . '","' . $last_name . '","' . $email . '","' . ucfirst($role[0]) . '"' . "\r\n";
}
exit();
}
}
}
第一部分将在用户 table 的页眉和页脚中的 table 导航中添加一个按钮。单击它时,您将调用下面的 export_csv()
函数。当然,您可以根据自己的喜好自定义它。
希望这对您有所帮助:)