Community Forums › Forums › Archived Forums › Design Tips and Tricks › hide primary menu from all pages but home
- This topic has 12 replies, 5 voices, and was last updated 9 years, 9 months ago by Tracy.
-
AuthorPosts
-
July 30, 2014 at 1:57 pm #116372TracyMember
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
July 30, 2014 at 3:16 pm #116378MarcParticipantBrad 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/
July 30, 2014 at 7:11 pm #116392TracyMemberThankyou 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
July 30, 2014 at 7:31 pm #116393Sridhar KatakamParticipantTracy: Are you talking about the menu in Header Right widget area or the one assigned to Primary Navigation Menu location?
July 30, 2014 at 10:01 pm #116397TracyMemberthankyou, no I am talking about the one assigned to Primary Navigation Menu location
July 30, 2014 at 11:04 pm #116398TracyMemberI 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] · <a href="http://avianorganics.com/">Avian Organics</a> · Built by <a href="http://catfishwebcreations.com/" title="Catfish Web Creations">Catfish Web Creations</a>'; return $creds; }
website link; http://www.avianorganics.com/wordpress
July 30, 2014 at 11:05 pm #116399Genesis DeveloperMembertry 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'); } }
July 30, 2014 at 11:15 pm #116401Genesis DeveloperMemberOk. 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); } }
July 30, 2014 at 11:50 pm #116402TracyMemberOk 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
July 31, 2014 at 12:23 am #116404Genesis DeveloperMemberchange this line
if (is_home()) {
with
if (is_front_page()) {
ORif (is_home() || is_front_page() ) {
July 31, 2014 at 12:52 am #116405TracyMemberwouldn't that still remove it from the homepage?
July 31, 2014 at 9:47 am #116445PorterParticipantNo, 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.
July 31, 2014 at 2:11 pm #116473TracyMemberOk, fantastic that got it, thankyou genwrock and also thankyou Porter for the explanation
-
AuthorPosts
- The topic ‘hide primary menu from all pages but home’ is closed to new replies.