web-dev-qa-db-ja.com

WordPressはログインしていないユーザーの登録リンクを表示します

WordPressサイトがあり、訪問者用の登録リンクを追加したいです。

だから、私は次のリンクで「登録」と呼ばれるメニュー項目を追加しました:

http://mywebsite.com/wp-login.php?action=register

問題は、このリンクがユーザーと訪問者の両方のための登録フォームを開くということです、そして、私は訪問者だけにそれを見せたいです。

1
Amine Messaoudi

nav Menu Rolesプラグインの問題を修正しました

登録リンクをメニューとプラグインに追加し、ログアウトしたユーザーのみに設定しました。

これにより、ログインしているユーザーには表示されません。

0
Amine Messaoudi

あなたの登録を追加するか、is_user_logged_in()関数の中にリンクをログインしてください。現在のユーザーがあなたのサイトにログインしていない場合は、この機能は彼らとそのユーザーのログインページを表示します。登録されていない場合、彼/彼女はあなたのサイトにログインするために登録する必要があります。

コード例:

<?php
if( !is_user_logged_in() ) {
  <a href="<?php echo wp_login_url(); ?>">Log in / Register</a>
}
2
Mahfuz

wp_nav_menu_itemsフィルタを使用して条件付きでメニュー項目を追加できます。このコードをテーマのfunctions.phpに追加してください。

function wpse_custom_menu_item( $items, $args ) {
    if( !is_user_logged_in() && $args->theme_location == 'primary-menu' ) {
        $items .= '<li><a href="http://mywebsite.com/wp-login.php?action=register">Register</a></li>';
    }
    return $items;
}
add_filter( 'wp_nav_menu_items', 'wpse_custom_menu_item', 10, 2 );