0

我正在制作一个网站,客户端需要一个登录链接,当用户登录时该链接会变成注销链接。

为此,我在 header.php 文件中使用此代码:

<?php
if ( is_user_logged_in() ) {
    echo '<a href="'.wp_logout_url( get_permalink() ).'" title="Logout" class="hunderline">Logout</a>';
} else {
    echo '<a href="'.wp_login_url( get_permalink() ).'" title="Login" class="hunderline">Login</a>';
}
?>

那怎么错了?它很好地显示了“登录”链接,一旦您登录,该链接就会按照应有的方式更改为“注销”链接,但是即使您使用它来注销,该链接仍然是注销链接...帮助我!

4

2 回答 2

1

您的条件应如下所示:

<?php if ( is_user_logged_in() ): ?>
    <a href="<?php echo wp_logout_url( $_SERVER['REQUEST_URI'] ); ?>">Logout</a> <!-- This redirects the user to the current page after logout. -->
<?php else: ?>
    <a href="<?php echo wp_login_url( $_SERVER['REQUEST_URI'] ); ?>">Login</a> <!-- This redirects the user to the current page after login. -->
<?php endif; ?>
于 2013-07-22T00:35:56.117 回答
0

将此添加到您的 functions.php 中,您将获得一个新的菜单项。当有人注销时,它会显示菜单项登录。当有人登录时,它会显示菜单项注销。

function autov_add_loginout_navitem($items) {
$login_item = '<li class="login">'.wp_loginout($_SERVER['REQUEST_URI'], false).'';
$items .= $login_item;
return $items;
}
add_filter('wp_nav_menu_items', 'autov_add_loginout_navitem');
于 2015-02-11T23:03:38.573 回答