I'm trying to get my sidebar to change when a user is logged in and i'm using the is_user_logged_in function. Here is the code -
<!-- BEGIN sidebar -->
<?php
/**
* The Sidebar containing the primary and secondary widget areas.
*
* @package WordPress
* @subpackage Twenty_Ten
* @since Twenty Ten 1.0
*/
?>
<div id="primary" class="widget-area" role="complementary">
<ul class="xoxo">
<?php
/* When we call the dynamic_sidebar() function, it'll spit out
* the widgets for that widget area. If it instead returns false,
* then the sidebar simply doesn't exist, so we'll hard-code in
* some default sidebar stuff just in case.
*/
if ( ! dynamic_sidebar( 'primary-widget-area' ) ) : ?>
<li class="widget-container">
<h3 class="widget-title">Sign In / Register</h3>
<ul>
<?php if ( is_user_logged_in() ) { echo 'Welcome, registered user!';} else { echo 'Welcome, unregistered user!';} ?>
</ul>
</li>
<li id="meta" class="widget-container">
<h3 class="widget-title"><?php _e( 'Meta', 'twentyten' ); ?></h3>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php wp_meta(); ?>
</ul>
</li>
<?php endif; // end primary widget area ?>
</ul>
</div><!-- #primary .widget-area -->
<!-- END sidebar -->
When the user is logged in the sidebar shows what it's supposed to. When the user logs out, it disappears completely. What am I doing wrong?
<ul>
needs to be followed by a<li>
, but besides that the code looks fine, maybe the problem is in another place.