hide primary menu from all pages but home

Community Forums Forums Design Tips and Tricks hide primary menu from all pages but home

This topic is: resolved

This topic contains 12 replies, has 5 voices, and was last updated by  Tracy 4 months, 2 weeks ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #116372

    Tracy
    Participant
    Post count: 97

    Using Minimum Pro them I’m looking for a code so that my primary menu will only show up on my homepage and hide it from all other pages and posts

    #116378

    Marc
    Moderator
    Post count: 197

    Brad Dalton has a bunch of function snippets related to nav bar display or not. One of them may be just what you need or easily modified to your purpose –
    http://wpsites.net/web-design/remove-nav-menu-specific-page/


    #116392

    Tracy
    Participant
    Post count: 97

    Thankyou Marc, I have been on Brad Dalton’s site before looking and trying some and so just went back again and tried every one of them with no luck

    #116393

    Sridhar Katakam
    Participant
    Post count: 1071

    Tracy: Are you talking about the menu in Header Right widget area or the one assigned to Primary Navigation Menu location?


    #116397

    Tracy
    Participant
    Post count: 97

    thankyou, no I am talking about the one assigned to Primary Navigation Menu location

    #116398

    Tracy
    Participant
    Post count: 97

    I think I know what the problem is but I don’t know how to work it out. I modified the original functions file so my homepage header area looks different than every other page and I think it’s the modification that is screwing me up. I’ve put it online now and here is my modified functions.php file

    <?php
    //* Start the engine
    include_once( get_template_directory() . '/lib/init.php' );
    
    //* Set Localization (do not remove)
    load_child_theme_textdomain( 'minimum', apply_filters( 'child_theme_textdomain', get_stylesheet_directory() . '/languages', 'minimum' ) );
    
    //* Child theme (do not remove)
    define( 'CHILD_THEME_NAME', __( 'Minimum Pro Theme', 'minimum' ) );
    define( 'CHILD_THEME_URL', 'http://my.studiopress.com/themes/minimum/' );
    define( 'CHILD_THEME_VERSION', '3.0.1' );
    
    //* Add HTML5 markup structure
    add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list' ) );
    
    //* Add viewport meta tag for mobile browsers
    add_theme_support( 'genesis-responsive-viewport' );
    
    //* Enqueue scripts
    add_action( 'wp_enqueue_scripts', 'minimum_enqueue_scripts' );
    function minimum_enqueue_scripts() {
    
    	wp_enqueue_script( 'minimum-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
    	wp_enqueue_style( 'dashicons' );
    	wp_enqueue_style( 'minimum-google-fonts', '//fonts.googleapis.com/css?family=Roboto:300,400|Roboto+Slab:300,400', array(), CHILD_THEME_VERSION );
    
    //* Load scripts only if custom background is being used
    	if ( ! get_background_image() )
    		return;
    
    	//* Enqueue Backstretch scripts
    	wp_enqueue_script( 'minimum-backstretch', get_bloginfo( 'stylesheet_directory' ) . '/js/backstretch.js', array( 'jquery' ), '1.0.0' );
    	wp_enqueue_script( 'minimum-backstretch-set', get_bloginfo('stylesheet_directory').'/js/backstretch-set.js' , array( 'jquery', 'minimum-backstretch' ), '1.0.0' );
    
    	wp_localize_script( 'minimum-backstretch-set', 'BackStretchImg', array( 'src' => str_replace( 'http:', '', get_background_image() ) ) );
    
    }
    
    //* Add new image sizes
    add_image_size( 'portfolio', 540, 340, TRUE );
    
    //* Add support for custom background
    add_theme_support( 'custom-background', array( 'wp-head-callback' => 'minimum_background_callback' ) ); 
    
    //* Add custom background callback for background color
    function minimum_background_callback() {
    
    	if ( ! get_background_color() )
    		return;
    
    	printf( '<style>body { background-color: #%s; }</style>' . "\n", get_background_color() );
    
    }
    
    //* Add support for custom header
    add_theme_support( 'custom-header', array(
    	'width'           => 255,
    	'height'          => 270,
    	'header-selector' => '.site-title a',
    	'header-text'     => false
    ) );
    
    //* Add support for structural wraps
    add_theme_support( 'genesis-structural-wraps', array(
    	'header',
    	'site-tagline',
    	'nav',
    	'subnav',
    	'home-featured',
    	'site-inner',
    	'footer-widgets',
    	'footer'
    ) );
    
    //* Add support for 3-column footer widgets
    add_theme_support( 'genesis-footer-widgets', 3 );
    
    //* Unregister layout settings
    genesis_unregister_layout( 'content-sidebar-sidebar' );
    genesis_unregister_layout( 'sidebar-content-sidebar' );
    genesis_unregister_layout( 'sidebar-sidebar-content' );
    
    //* Unregister secondary sidebar 
    unregister_sidebar( 'sidebar-alt' );
    
    //* Create portfolio custom post type
    add_action( 'init', 'minimum_portfolio_post_type' );
    function minimum_portfolio_post_type() {
    
    	register_post_type( 'portfolio',
    		array(
    			'labels' => array(
    				'name'          => __( 'Portfolio', 'minimum' ),
    				'singular_name' => __( 'Portfolio', 'minimum' ),
    			),
    			'exclude_from_search' => true,
    			'has_archive'         => true,
    			'hierarchical'        => true,
    			'menu_icon'           => 'dashicons-admin-page',
    			'public'              => true,
    			'rewrite'             => array( 'slug' => 'portfolio', 'with_front' => false ),
    			'supports'            => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'revisions', 'page-attributes', 'genesis-seo' ),
    		)
    	);
    	
    }
    
    //* Remove site description
    remove_action( 'genesis_site_description', 'genesis_seo_site_description' );
    
    //* Reposition the primary navigation menu
    remove_action( 'genesis_after_header', 'genesis_do_nav' );
    add_action( 'genesis_after_header', 'genesis_do_nav', 15 );
    
    //* Reposition the secondary navigation menu
    remove_action( 'genesis_after_header', 'genesis_do_subnav' );
    add_action( 'genesis_footer', 'genesis_do_subnav', 7 );
    
    //* Reduce the secondary navigation menu to one level depth
    add_filter( 'wp_nav_menu_args', 'minimum_secondary_menu_args' );
    function minimum_secondary_menu_args( $args ){
    
    	if( 'secondary' != $args['theme_location'] )
    	return $args;
    
    	$args['depth'] = 1;
    	return $args;
    
    }
    
    //* Add the site tagline section
    add_action( 'genesis_after_header', 'minimum_site_tagline' );
    function minimum_site_tagline() {
    if ( is_front_page() && is_active_sidebar( 'site-tagline-right' ) ) {
    	printf( '<div %s>', genesis_attr( 'site-tagline' ) );
    	genesis_structural_wrap( 'site-tagline' );
     
    		printf( '<div %s>', genesis_attr( 'site-tagline-left' ) );
    		printf( '<p %s>%s</p>', genesis_attr( 'site-description' ), esc_html( get_bloginfo( 'description' ) ) );
    		echo '</div>';
    	
    		printf( '<div %s>', genesis_attr( 'site-tagline-right' ) );
    		genesis_widget_area( 'site-tagline-right' );
    		echo '</div>';
     
    	genesis_structural_wrap( 'site-tagline', 'close' );
    	echo '</div>';
     
    }}
    
    //* Hook after post widget after the entry content
    add_action( 'genesis_after_entry', 'minimum_after_entry', 5 );
    function minimum_after_entry() {
    
    	if ( is_singular( 'post' ) )
    		genesis_widget_area( 'after-entry', array(
    			'before' => '<div class="after-entry widget-area">',
    			'after'  => '</div>',
    		) );
    
    }
    
    //* Modify the size of the Gravatar in the author box
    add_filter( 'genesis_author_box_gravatar_size', 'minimum_author_box_gravatar' );
    function minimum_author_box_gravatar( $size ) {
    
    	return 144;
    
    }
    
    //* Modify the size of the Gravatar in the entry comments
    add_filter( 'genesis_comment_list_args', 'minimum_comments_gravatar' );
    function minimum_comments_gravatar( $args ) {
    
    	$args['avatar_size'] = 96;
    	return $args;
    
    }
    
    //* Change the number of portfolio items to be displayed (props Bill Erickson)
    add_action( 'pre_get_posts', 'minimum_portfolio_items' );
    function minimum_portfolio_items( $query ) {
    
    	if ( $query->is_main_query() && !is_admin() && is_post_type_archive( 'portfolio' ) ) {
    		$query->set( 'posts_per_page', '6' );
    	}
    
    }
    
    //* Remove comment form allowed tags
    add_filter( 'comment_form_defaults', 'minimum_remove_comment_form_allowed_tags' );
    function minimum_remove_comment_form_allowed_tags( $defaults ) {
    	
    	$defaults['comment_notes_after'] = '';
    	return $defaults;
    
    }
    
    //* Register widget areas
    genesis_register_sidebar( array(
    	'id'          => 'site-tagline-right',
    	'name'        => __( 'Site Tagline Right', 'minimum' ),
    	'description' => __( 'This is the site tagline right section.', 'minimum' ),
    ) );
    genesis_register_sidebar( array(
    	'id'          => 'home-featured-1',
    	'name'        => __( 'Home Featured 1', 'minimum' ),
    	'description' => __( 'This is the home featured 1 section.', 'minimum' ),
    ) );
    genesis_register_sidebar( array(
    	'id'          => 'home-featured-2',
    	'name'        => __( 'Home Featured 2', 'minimum' ),
    	'description' => __( 'This is the home featured 2 section.', 'minimum' ),
    ) );
    genesis_register_sidebar( array(
    	'id'          => 'home-featured-3',
    	'name'        => __( 'Home Featured 3', 'minimum' ),
    	'description' => __( 'This is the home featured 3 section.', 'minimum' ),
    ) );
    genesis_register_sidebar( array(
    	'id'          => 'home-featured-4',
    	'name'        => __( 'Home Featured 4', 'minimum' ),
    	'description' => __( 'This is the home featured 4 section.', 'minimum' ),
    ) );
    genesis_register_sidebar( array(
    	'id'          => 'after-entry',
    	'name'        => __( 'After Entry', 'minimum' ),
    	'description' => __( 'This is the after entry widget area.', 'minimum' ),
    ) );
    add_theme_support( 'genesis-connect-woocommerce' );
    //* Change the footer text
    add_filter('genesis_footer_creds_text', 'sp_footer_creds_filter');
    function sp_footer_creds_filter( $creds ) {
    	$creds = '[footer_copyright] &middot; <a href="http://avianorganics.com/">Avian Organics</a> &middot; Built by <a href="http://catfishwebcreations.com/" title="Catfish Web Creations">Catfish Web Creations</a>';
    	return $creds;
    }

    website link; http://www.avianorganics.com/wordpress

    #116399

    genwrock
    Member
    Post count: 934

    try this once. Add the code in your functions.php file

    add_action('get_header', 'remove_genesis_do_primary_nav');
    function remove_genesis_do_primary_nav() {
      if (!is_home()) {
        remove_action('genesis_before_header', 'genesis_do_nav');
      }
    }

    See My PRO Genesis Child Themes | Need Genesis Developer? | Follow Me on Twitter

    #116401

    genwrock
    Member
    Post count: 934

    Ok. Change this line

    add_action( 'genesis_after_header', 'genesis_do_nav', 15 );

    with following code

    add_action('template_redirect', 'show_genesis_do_primary_nav');
    function show_genesis_do_primary_nav() {
      if (is_home()) {
        add_action('genesis_after_header', 'genesis_do_nav', 15);
      }
    }

    See My PRO Genesis Child Themes | Need Genesis Developer? | Follow Me on Twitter

    #116402

    Tracy
    Participant
    Post count: 97

    Ok thanks genwrock. That is removing the primary navigation but I want to keep it on the homepage. Only on the homepage. What can I change now? Thankyou

    #116404

    genwrock
    Member
    Post count: 934

    change this line

    if (is_home()) {

    with if (is_front_page()) { OR if (is_home() || is_front_page() ) {


    See My PRO Genesis Child Themes | Need Genesis Developer? | Follow Me on Twitter

    #116405

    Tracy
    Participant
    Post count: 97

    wouldn’t that still remove it from the homepage?

    #116445

    Porter
    Member
    Post count: 226

    No, the check is “if it’s on the front page, or on the home page” ADD the navigation. otherwise, it’s remove it.

    Actually, I only glanced this thread, but that logic will add it if it is the home page, not sure where it’s being removed everywhere else though.

    • This reply was modified 4 months, 2 weeks ago by  Porter.
    • This reply was modified 4 months, 2 weeks ago by  Porter.
    #116473

    Tracy
    Participant
    Post count: 97

    Ok, fantastic that got it, thankyou genwrock and also thankyou Porter for the explanation

Viewing 13 posts - 1 through 13 (of 13 total)

The topic ‘hide primary menu from all pages but home’ is closed to new replies.