web-dev-qa-db-fra.com

Ajout de HTML/texte en haut de la page principale du profil de l'abonné

Une fois qu'un nouvel utilisateur crée un compte et se connecte, l'abonné atterrit à la page /wp-admin/profile.php. Avec certaines données démographiques, j'ai constaté que certains utilisateurs ont tendance à s'y coincer.

J'aimerais pouvoir ajouter du HTML, par exemple un paragraphe descriptif avec des liens vers des zones du site, en haut de la page Profil du niveau Abonné; si possible, entre l'en-tête "Profil" et "Détails personnels".

Les utilisations possibles incluent le renvoi des utilisateurs vers des applications, des formulaires spécifiques, etc.

Le pseudo-code pour le profile.php envisagé est:

...
<h1>Profile</h1>

si l'utilisateur est abonné, alors echo:

<div class="subscriberProfile">
    <p>Looking for the <a href="http://example.com/form">Example Form</a>?</p>
</div>

Merci d'avance.

2
beta208

Ajoutez ce code à votre functions.php pour ajouter une notification aux utilisateurs dotés du rôle subscriber sur leurs pages d’administration de profil et de tableau de bord.

function wpse239290_user_welcome_notice() {
    // Make sure that the user is assigned to the subscriber role, specifically.
    // Alternatively, capabilities can be checked with current_user_can(), but roles are not supposed to be checked this way.
    $user = wp_get_current_user();
    if ( ! in_array( 'subscriber', $user->roles ) ) {
        return;
    }

    // Make sure the profile or dashboard screens are being viewed.
    $screen = get_current_screen();
    if ( ! $screen || ( 'profile' !== $screen->id && 'dashboard' !== $screen->id ) ) {
        return;
    }

    // Show a friendly green notice, and allow it to be dismissed (it will re-appear if the page is reloaded though).
    $class = 'notice notice-success is-dismissible';

    // Customize the HTML to  fit your preferences.
    $message = '<p>Looking for the <a href="http://example.com/form">Example Form</a></p>';

    printf( '<div class="%1$s"><div class="subscriberProfile">%2$s</div></div>', $class, $message ); 
}
add_action( 'admin_notices', 'wpse239290_user_welcome_notice' );
3
Dave Romsey