V případě, že umožňujete uživatelům registraci do WordPressu a chcete mít přehled o tom, kdo se aktuálně registroval, bude se vám hodit dnešní snippet.
Nejprve výsledek:
Přesně takový nový box uvidíte po použití následujícího kódu, který vložte na konec souboru functions.php (k souboru se dostanete přes Vzhled > Editor souboru šablony). Zároveň zkontrolujte, že používáte child theme, jinak by se veškeré změny po aktualizaci šablony smazaly!
Kód:
add_action('wp_dashboard_setup', 'custom_dashboard_widgets');
function custom_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget('custom_user_widget', __('Noví uživatelé','textdomain'), 'custom_dashboard_user');
}
/**
* Dashboard widget function
*
*/
function custom_dashboard_user() {
global $wpdb;
$usernames = $wpdb->get_results("SELECT * FROM $wpdb->users ORDER BY ID DESC LIMIT 6");
?>
<table style="width:100%;">
<tr>
<td><b><?php _e('Datum registrace','texdomain'); ?></b></td>
<td><b><?php _e('Jméno uživatele','texdomain'); ?></b></td>
<td><b><?php _e('Uživatelská role','texdomain'); ?></b></td>
</tr>
<?php
foreach ($usernames as $username) {
$userid = $username->ID ;
?>
<tr>
<td>
<?php $reg_date = $username->user_registered ; echo date('j m Y , h:i:s', strtotime($reg_date));?>
</td>
<td>
<a href="<?php echo get_edit_user_link($userid); ?>"><?php echo $username->user_nicename ; ?></a>
</td>
<td>
<?php $user_info = get_userdata($userid); echo implode(', ', $user_info->roles)?>
</td>
</tr>
<?php } ?>
</table>
<?php
}
Jak můžete vidět, počet zobrazených uživatelů je nastaven na šest, ale hodnotu si můžete přepsat, jak budete potřebovat.