I want to display a certain menu when a user is logged in and when they are logged out I need it to disappear.
Here’s my current code (I’m sure I butchered it).
<?php if ( is_user_logged_in() ) {
<nav id="user" role="navigation">
<?php wp_nav_menu( array('menu' => 'User Nav' )); ?>
</nav>
} ?> Nope…looks fine. What exactly isn’t working?
infuse01 said
Nope…looks fine. What exactly isn’t working?
I get this error
Parse error: syntax error, unexpected ’<’ in …header.php on line 95
pls post the whole code from header.php here (or in pastebin or similar)
infuse01 saidhttp://hgrsolutions.com/
pls post the whole code from header.php here (or in pastebin or similar)
<?php /** * The Header for our theme. * * Displays all of the <head> section and everything up till <div id="main"> * * @package WordPress * @subpackage Twenty_Eleven * @since Twenty Eleven 1.0 */ ?><!DOCTYPE html> <!--[if IE 6]> <html id="ie6" <?php language_attributes(); ?>> <![endif]--> <!--[if IE 7]> <html id="ie7" <?php language_attributes(); ?>> <![endif]--> <!--[if IE 8]> <html id="ie8" <?php language_attributes(); ?>> <![endif]--> <!--[if !(IE 6) | !(IE 7) | !(IE]><!--> <html <?php language_attributes(); ?>> <!--<![endif]--> <head> <meta charset="<?php bloginfo( 'charset' ); ?>" /> <meta name="viewport" content="width=device-width" /> <title><?php /* * Print the <title> tag based on what is being viewed. */ global $page, $paged; wp_title( '|', true, 'right' ); // Add the blog name. bloginfo( 'name' ); // Add the blog description for the home/front page. $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) echo " | $site_description"; // Add a page number if necessary: if ( $paged >= 2 || $page >= 2 ) echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) ); ?></title> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" /> <link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/pricing-table.css" /> <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" /> <!--[if lt IE 9]> <script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script> <![endif]--> <?php /* We add some JavaScript to pages with the comment form * to support sites with threaded comments (when in use). */ if ( is_singular() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); /* Always have wp_head() just before the closing </head> * tag of your theme, or you will break many plugins, which * generally use this hook to add elements to <head> such * as styles, scripts, and meta tags. */ wp_head(); ?> <script src="<?php echo get_template_directory_uri(); ?>/js/parallax.js" type="text/javascript"></script> </head> <body <?php body_class(); ?>> <div class="header-container"> <div class="logo" /> <nav id="access" role="navigation"> <h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3> <?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?> <div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div> <div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div> <?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assigned to the primary location is the one used. If one isn't assigned, the menu with the lowest ID is used. */ ?> <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?> </nav><!-- #access --> </div> <div id="page" class="hfeed"> <header id="branding" role="banner"> <?php if ( is_user_logged_in() ) { <nav id="user" role="navigation"> <?php wp_nav_menu( array('menu' => 'User Nav' )); ?> </nav> } ?> </header><!-- #branding --> <div id="main" /></div></div>
Haha, ok. It’s always the same issue ^
You’ve forgot the closing ?> after is_user_logged_in and the reopening at <?php at the end of that snippet.
Your Code:
<?php if ( is_user_logged_in() ) {
<nav id="user" role="navigation">
<?php wp_nav_menu( array('menu' => 'User Nav' )); ?>
</nav>
} ?>
<?php if ( is_user_logged_in() ) { ?>
<nav id="user" role="navigation">
<?php wp_nav_menu( array('menu' => 'User Nav' )); ?>
</nav>
<?php } ?>
See the difference?
Edit: Forgot to mention that THIS also happens 100 of times to me ^
infuse01 said
Haha, ok. It’s always the same issue ^
You’ve forgot the closing ?> after is_user_logged_in and the reopening at <?php at the end of that snippet.
Your Code:
haha I should of known that. Thanks a lot man your awesome!<?php if ( is_user_logged_in() ) { <nav id="user" role="navigation"> <?php wp_nav_menu( array('menu' => 'User Nav' )); ?> </nav> } ?>Working Code:<?php if ( is_user_logged_in() ) { ?> <nav id="user" role="navigation"> <?php wp_nav_menu( array('menu' => 'User Nav' )); ?> </nav> <?php } ?>See the difference?
Edit: Forgot to mention that THIS also happens 100 of times to me ^
Just a quick tip as well from here:
You should consider to register the parallax script with wp_register_script and output it with wp_enqueue_script.

]><!-->
<html <?php language_attributes(); ?>>
<!--<![endif]-->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width" />
<title><?php
/*
* Print the <title> tag based on what is being viewed.
*/
global $page, $paged;
wp_title( '|', true, 'right' );
// Add the blog name.
bloginfo( 'name' );
// Add the blog description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
echo " | $site_description";
// Add a page number if necessary:
if ( $paged >= 2 || $page >= 2 )
echo ' | ' . sprintf( __( 'Page %s', 'twentyeleven' ), max( $paged, $page ) );
?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/css/pricing-table.css" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
<![endif]-->
<?php
/* We add some JavaScript to pages with the comment form
* to support sites with threaded comments (when in use).
*/
if ( is_singular() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
/* Always have wp_head() just before the closing </head>
* tag of your theme, or you will break many plugins, which
* generally use this hook to add elements to <head> such
* as styles, scripts, and meta tags.
*/
wp_head();
?>
<script src="<?php echo get_template_directory_uri(); ?>/js/parallax.js" type="text/javascript"></script>
</head>
<body <?php body_class(); ?>>
<div class="header-container">
<div class="logo" />
<nav id="access" role="navigation">
<h3 class="assistive-text"><?php _e( 'Main menu', 'twentyeleven' ); ?></h3>
<?php /* Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff. */ ?>
<div class="skip-link"><a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to primary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to primary content', 'twentyeleven' ); ?></a></div>
<div class="skip-link"><a class="assistive-text" href="#secondary" title="<?php esc_attr_e( 'Skip to secondary content', 'twentyeleven' ); ?>"><?php _e( 'Skip to secondary content', 'twentyeleven' ); ?></a></div>
<?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assigned to the primary location is the one used. If one isn't assigned, the menu with the lowest ID is used. */ ?>
<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
</nav><!-- #access -->
</div>
<div id="page" class="hfeed">
<header id="branding" role="banner">
<?php if ( is_user_logged_in() ) {
<nav id="user" role="navigation">
<?php wp_nav_menu( array('menu' => 'User Nav' )); ?>
</nav>
} ?>
</header><!-- #branding -->
<div id="main" /></div></div>