Where to place PHP code that inserts (or doesn’t insert) menu item?

Where do I place the PHP code to insert or not insert a menu item based upon some condition, i.e. value of another PHP variable like so:

$listItem = '';

<?php if ($condition)
{
    $listItem = '<li id="menu-item-44" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-44"><a title="Our Real Estate Blog" href="http://www.mattepstein.com/category/blog/">Blog</a></li>';
}

?>

/* html for menu list */

<?php echo $listItem; ?>

/* more html for menu list */

Related posts

Leave a Reply

2 comments

  1. If the menu is displayed via regular code (wp_nav_menu() for example), you should not call wp_get_nav_menu_items() yourself, but you should hook into it and change the output. That means you add a filter on wp_get_nav_menu_items, loop over the items, and insert your menu item at the right place.