web-dev-qa-db-ja.com

購読者のプロファイルバックエンドページのトップへのHTML /テキストの追加

新しいユーザーがアカウントを作成してログインすると、加入者は/wp-admin/profile.phpページにアクセスします。特定の人口統計では、何人かのユーザーがそこに行き詰まる傾向があることがわかりました。

サイト上の領域へのリンクを含む説明的な段落などのHTMLを、購読者レベルの[プロフィール]ページの上部に追加できるようにしたい可能であれば 'Profile'ヘッダと 'Personal Details'の間に。

この用途には、ユーザーをアプリケーション、特定のフォームなどに戻すことが含まれます。

想定されているprofile.phpの擬似コードは次のとおりです。

...
<h1>Profile</h1>

ユーザーが加入者の場合は、エコーします。

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

前もって感謝します。

2
beta208

このコードをfunctions.phpに追加して、自分のプロファイルおよびダッシュボードの管理ページにsubscriberロールを持つユーザーに通知を追加します。

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