WordPressサイトがあり、訪問者用の登録リンクを追加したいです。
だから、私は次のリンクで「登録」と呼ばれるメニュー項目を追加しました:
http://mywebsite.com/wp-login.php?action=register
問題は、このリンクがユーザーと訪問者の両方のための登録フォームを開くということです、そして、私は訪問者だけにそれを見せたいです。
nav Menu Rolesプラグインの問題を修正しました
登録リンクをメニューとプラグインに追加し、ログアウトしたユーザーのみに設定しました。
これにより、ログインしているユーザーには表示されません。
あなたの登録を追加するか、is_user_logged_in()
関数の中にリンクをログインしてください。現在のユーザーがあなたのサイトにログインしていない場合は、この機能は彼らとそのユーザーのログインページを表示します。登録されていない場合、彼/彼女はあなたのサイトにログインするために登録する必要があります。
コード例:
<?php
if( !is_user_logged_in() ) {
<a href="<?php echo wp_login_url(); ?>">Log in / Register</a>
}
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 );