Les hooks pour l'administration WordPress.

Effectuez différentes actions dans le back-office de WordPress pour le personnaliser selon vos besoins et vos envies.

Ajouter du style inline dans l’administration

PHP
                    <?php 
function undfnd_admin_css_inline() {
  echo '<style>
    // Votre style
  </style>';
}
add_action('admin_head', 'undfnd_admin_css_inline');
                

Ajouter une feuille de style dans l’administration

PHP
                    <?php
function undfnd_admin_css() {
	wp_enqueue_style('admin_style', get_template_directory_uri() . '/assets/css/admin.css');
}
add_action('admin_print_styles', 'undfnd_admin_css', 11);
                

Ajouter une feuille de style pour l’éditeur de contenu

PHP
                    <?php 
function undfnd_admin_tiny_mce_styles()
{
    add_editor_style( 'assets/admin/css/tinymce/editor.css' );
}
add_action( 'admin_init', 'undfnd_admin_tiny_mce_styles' );
                

Ajouter l’image à la une dans une colonne de la liste de posts

PHP
                    <?php 
function undfnd_posts_custom_column( $column, $post_id ) {
    if( $column == 'img' ) {
        echo get_the_post_thumbnail($post_id, 'thumbnail', [ 'style' => 'max-width: 80px; height: auto;' ]);
    }
    return $column;
}
add_action( 'manage_posts_custom_column', 'undfnd_posts_custom_column', 10, 2);
function undfnd_manage_posts_columns( $columns ) {
    $columns['img'] = 'Featured Image';
    return $columns;
}
add_filter( 'manage_posts_custom_column', 'undfnd_manage_posts_columns');
                

Supprimer une colonne de la liste de posts

PHP
                    <?php 
function undfnd_remove_admin_list_column( $post ) {
    // On supprime les tags
		add_filter( 'manage_posts_columns' , function( $columns ) {
        unset($columns['tags']);
        return $columns;
    } );
}
add_action( 'admin_init', 'undfnd_remove_admin_list_column');
                

Effectuer une action à la sauvegarde d’un post_type particulier

PHP
                    <?php 
function undfnd_save_post_type( $post ) {
    // Si c'est une sauvegarde automatique, on ne fait rien
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
        return;
		 
		// Votre code pour faire quelque chose.
}
add_action( 'save_post_{post_type}', 'undfnd_save_post_type');
                

Effectuer une action à la sauvegarde d’un post

PHP
                    <?php 
function undfnd_save_post( $post ) {
    // Si c'est une sauvegarde automatique, on ne fait rien
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
        return;
		// Si ce n'est pas un article, on ne fait rien
    if ( 'post' !== $post->post_type )
        return;
		 
		// Votre code pour faire quelque chose.
}
add_action( 'save_post', 'undfnd_save_post');
                

Supprimer des menus de la barre latérale du panel admin

PHP
                    <?php 
function undfnd_remove_admin_menus() { 
    // Tableau de bord
    remove_menu_page( 'index.php' );

    // Articles
    remove_menu_page( 'edit.php' );

    // Medias
    remove_menu_page( 'upload.php' );
		
    // Pages
    remove_menu_page( 'edit.php?post_type=page' );

    // Commentaires
    remove_menu_page( 'edit-comments.php' );
		
    // Apparence
    remove_menu_page( 'themes.php' );
		
    // Plugins
    remove_menu_page( 'plugins.php' );
		
    // Outils
    remove_menu_page( 'tools.php' );
		
    // Utilisateurs
    remove_menu_page( 'users.php' );
		
    // Réglages
    remove_menu_page( 'options-general.php' );
}
add_action( 'admin_menu', 'undfnd_remove_admin_menus' );
                

Modifier le logo de connexion à WordPress

PHP
                    <?php 
function undfnd_edit_login_logo() { 
?>
    <style type="text/css">
        .login #login h1 a {
            background-image: url('<?php echo get_stylesheet_directory_uri(); ?>/images/votre-nouveau-logo.png');
        }
    </style>
<?php }
add_action( 'login_enqueue_scripts', 'undfnd_edit_login_logo' );