Support » Fixing WordPress » wp_loginout() showing static url instead of link

  • Resolved


    My blog is at Look in the upper right in FF or IE and rather than a Login link, you’ll see And if I do log in, that changes to a long url for logging out.

    This is running on multisite, and the other 3 sites are exhibiting the same behaviour. Here is the code in header.php for the theme I’m using. I don’t see anything wrong with it.

    <ul id="accessibility">
    		<li><a href="<?php echo get_option('home'); ?>/" title="<?php _e('Go to homepage', 'default'); ?>"><?php _e('Home', 'default'); ?></a></li>
    		<li><a href="#content" title="Skip to content"><?php _e('Content', 'default'); ?></a></li>
    		<li><a href="<?php if (get_option('greenpark2_feed_enable') == 'yes') { echo '' . get_option('greenpark2_feed_uri'); } else { echo get_bloginfo('rss2_url'); }?>">RSS</a></li>
    		<?php wp_meta(); ?>
    		<?php wp_register(); ?>
    		<li class="last-item"><?php wp_loginout(); ?></li>

    I am running WP SuperCache, but I disabled it and saw no difference.

    Any thoughts or suggestions are most welcome!

Viewing 4 replies - 1 through 4 (of 4 total)
  • I think it has something to do with apply_filters. Here is the code from general-template.php wp_loginout():

    function wp_loginout($redirect = '', $echo = true) {
            if ( ! is_user_logged_in() )
                    $link = '<a href="' . esc_url( wp_login_url($redirect) ) . '">' . __('Log in') . '</a>';
                    $link = '<a href="' . esc_url( wp_logout_url($redirect) ) . '">' . __('Log out') . '</a>';
    #echo $link;
            if ( $echo )
                    echo apply_filters('loginout', $link);
                    return apply_filters('loginout', $link);

    The echo $link; that is commented out is what I just tried by commenting out the if/else. And it worked the way it should – showed me a link that said Login or Logout.

    So, how can I figure out what is breaking in apply_filters(‘loginout’, $link)?



    Forum Moderator

    Have you tried:

    – deactivating all plugins to see if this resolves the problem. If this works, re-activate the plugins one by one until you find the problematic plugin(s).

    – switching to the Twenty Eleven theme to rule out any theme-specific problems.

    resetting the plugins folder by FTP or PhpMyAdmin. Sometimes, an apparently inactive plugin can still cause problems.

    – re-uploading all files & folders – except the wp-content folder – from a fresh download of WordPress.

    esmi, thank you for the input.

    I only have a couple of plugins – Akismet, WP SuperCache, the official Facebook plugin, and WordPress HTTPS. I have tried disabling WP SuperCache and the Facebook plugin, to no avail. The HTTPS plugin is required.

    This is a live site. I can’t just change the theme.

    I strongly suspect the problem lies in the apply_filters(‘loginout’, $link) – but I haven’t been able to find what that is actually doing. Any thoughts there?

    And the problem is in the one plugin that I have to have:

    Hopefully he has a fix out soon!

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘wp_loginout() showing static url instead of link’ is closed to new replies.