Community Forums › Forums › Archived Forums › Design Tips and Tricks › Exclude category from home.php Genesis 2.0 – help?
Tagged: exclude category, genesis 2.0, grid loop, home.php
- This topic has 14 replies, 9 voices, and was last updated 9 years, 8 months ago by Brad Dalton.
-
AuthorPosts
-
August 12, 2013 at 9:42 am #55797merleneParticipant
I've just installed Genesis 2.0 and Eleven40 Pro on a new site. I've worked with themes & previous versions of Genesis and while I can sometimes reason things out (and I'm a master at copy & paste) I cannot fathom out how to remove a specific category from the home.php grid loop. I know I've managed to hack/slash/copy/paste something to exclude a category in the past (on a past site which is no longer available) but I'm not getting anywhere with it this time.
August 12, 2013 at 10:29 pm #55954AnitaKeymasterYou know... sometimes I just don't fart around with these things. I use a plugin called Simply Exclude and it does the trick for me for excluding things all over the place.
http://wordpress.org/plugins/simply-exclude/
Love coffee, chocolate and my Bella!
August 13, 2013 at 8:02 am #56045merleneParticipantThanks @anitac - I'll keep the plugin in mind but I'd prefer to find a way to do this using the functions/grid loop rather than a plugin if at all possible.
September 8, 2013 at 7:52 am #61336jronaldleeMemberI know you said you'd rather do it in the loop, but here's another plugin option (I found Simply Exclude did NOT work for me).
December 23, 2013 at 11:58 am #80915Brian DusablonParticipantmerlene, did you ever find a solution? I had it working on a site a while back, I think with some code from Brad Dalton. But now it's not working.
December 23, 2013 at 12:15 pm #80917Genesis DeveloperMembertry this code in your functions.php file
add_filter('genesis_grid_loop_args', 'exclude_category_from_home'); function exclude_category_from_home($args){ $args['cat'] = '-2'; //Please add your category id return $args; }
December 23, 2013 at 12:27 pm #80920Brian DusablonParticipantThat didn't work for me. Here's my entire functions.php file.
<?php //* Start the engine include_once( get_template_directory() . '/lib/init.php' ); //* Set Localization (do not remove) load_child_theme_textdomain( 'eleven40', apply_filters( 'child_theme_textdomain', get_stylesheet_directory() . '/languages', 'eleven40' ) ); //* Child theme (do not remove) define( 'CHILD_THEME_NAME', __( 'eleven40 Pro Theme', 'eleven40' ) ); define( 'CHILD_THEME_URL', 'http://my.studiopress.com/themes/eleven40/' ); define( 'CHILD_THEME_VERSION', '2.0' ); //* Add HTML5 markup structure add_theme_support( 'html5' ); //* Add viewport meta tag for mobile browsers add_theme_support( 'genesis-responsive-viewport' ); //* Load Lora and Oswald Google fonts add_action( 'wp_enqueue_scripts', 'eleven40_google_fonts' ); function eleven40_google_fonts() { wp_enqueue_style( 'google-font', '//fonts.googleapis.com/css?family=Lora:400,700|Oswald:400', array(), PARENT_THEME_VERSION ); } //* Add new featured image size add_image_size( 'grid-featured', 270, 100, TRUE ); //* Add support for custom header add_theme_support( 'custom-header', array( 'width' => 320, 'height' => 65, 'header-selector' => '.site-header .title-area', 'header-text' => false ) ); //* Add support for structural wraps add_theme_support( 'genesis-structural-wraps', array( 'header', 'nav', 'subnav', 'site-inner', 'footer-widgets', 'footer' ) ); //* Add support for additional color styles add_theme_support( 'genesis-style-selector', array( 'eleven40-pro-blue' => __( 'eleven40 Pro Blue', 'eleven40' ), 'eleven40-pro-green' => __( 'eleven40 Pro Green', 'eleven40' ), 'eleven40-pro-red' => __( 'eleven40 Pro Red', 'eleven40' ) ) ); //* Reposition the site description remove_action( 'genesis_site_description', 'genesis_seo_site_description' ); //* add_action( 'genesis_before_content_sidebar_wrap', 'genesis_seo_site_description' ); //* Reposition the primary navigation menu remove_action( 'genesis_after_header', 'genesis_do_nav' ); add_action( 'genesis_before_content_sidebar_wrap', 'genesis_do_nav' ); //* Reposition the secondary navigation menu remove_action( 'genesis_after_header', 'genesis_do_subnav' ); add_action( 'genesis_before_content_sidebar_wrap', 'genesis_do_subnav' ); //* Add support for 3-column footer widgets add_theme_support( 'genesis-footer-widgets', 3 ); // Home Category Removal add_filter('genesis_grid_loop_args', 'exclude_category_from_home'); function exclude_category_from_home($args){ $args['cat'] = '-7'; //Please add your category id return $args; } // AG ADDED // Register Genesis Menus add_theme_support ( 'genesis-menus' , array ( 'primary' => 'Primary Navigation Menu' , 'secondary' => 'Secondary Navigation Menu' ,'mobile' => 'Mobile Navigation Menu' ) ); // Add Support for Structural Wraps add_theme_support( 'genesis-structural-wraps', array( 'header', 'nav', 'menu-mobile', 'subnav', 'site-inner', 'footer-widgets', 'footer') ); add_action( 'genesis_before_header', 'gst_do_mobilenav' ); /** * Create the Mobile Navigation Menu. * * @author Brad Potter * * @link http://www.bradpotter.com * * Based on code from the StudioPress Genesis Framework 2.0 */ function gst_do_mobilenav() { //* Do nothing if menu not supported if ( ! genesis_nav_menu_supported( 'mobile' ) ) return; //* If menu is assigned to theme location, output if ( has_nav_menu( 'mobile' ) ) { $class = 'menu genesis-nav-menu menu-mobile'; if ( genesis_superfish_enabled() ) $class .= ' js-superfish'; $args = array( 'theme_location' => 'mobile', 'container' => '', 'menu_class' => $class, 'echo' => 0, ); $mobilenav = wp_nav_menu( $args ); //* Do nothing if there is nothing to show if ( ! $mobilenav ) return; $mobilenav_markup_open = genesis_markup( array( 'html5' => '<nav %s>', 'xhtml' => '<div id="mobilenav">', 'context' => 'nav-mobile', 'echo' => false, ) ); $mobilenav_markup_open .= genesis_structural_wrap( 'menu-mobile', 'open', 0 ); $mobilenav_markup_close = genesis_structural_wrap( 'menu-mobile', 'close', 0 ); $mobilenav_markup_close .= genesis_html5() ? '</nav>' : '</div>'; $mobilenav_output = $mobilenav_markup_open . $mobilenav . $mobilenav_markup_close; echo apply_filters( 'gst_do_mobilenav', $mobilenav_output, $mobilenav, $args ); } } add_filter( 'genesis_attr_nav-mobile', 'gst_attributes_nav_mobile' ); /** * Add Attributes for Mobile Navigation Menu. * * @author Brad Potter * * @link http://www.bradpotter.com * * Based on code from the StudioPress Genesis Framework 2.0 */ function gst_attributes_nav_mobile( $attributes ) { $attributes['role'] = 'navigation'; $attributes['itemscope'] = 'itemscope'; $attributes['itemtype'] = 'http://schema.org/SiteNavigationElement'; return $attributes; } /** * Register and Enqueue Mobile Navigation Menu script * * @author Brad Potter * * @link http://www.bradpotter.com */ function gst_mobilemenu_script() { wp_register_script( 'mobile-menu', get_stylesheet_directory_uri() . '/js/mobilemenu.js', array('jquery'), '1.0.0', false ); wp_enqueue_script( 'mobile-menu' ); } add_action('wp_enqueue_scripts', 'gst_mobilemenu_script'); /**Register Widgets*/ genesis_register_sidebar( array( 'id' => 'home-featured', 'name' => __( 'Home Featured', 'eleven40' ), 'description' => __( 'This is the home featured section.', 'eleven40' ), ) );
December 23, 2013 at 12:36 pm #80924Genesis DeveloperMemberwhat is your site URL? Home page is using the grid loop?
December 23, 2013 at 12:43 pm #80928Brian DusablonParticipantDecember 23, 2013 at 9:42 pm #81012Genesis DeveloperMemberAh! Please remove my code. It will not work that way.
December 24, 2013 at 12:23 am #81028Brad DaltonParticipantThis is what i use.
Please copy ALL the code from the view raw link and paste it at the end of your child themes functions.php file using a text editor like Notepad++
Change the category i.d to your own.
This code includes the is_home() conditional tag which returns true on your posts page according to your Reading Settings.
December 24, 2013 at 2:37 pm #81100kimboosanMemberJune 26, 2014 at 5:31 pm #111681devParticipantBrad (or anyone): This is close to what I want to do on the Eleven40 theme.
The default is for it to pick up EVERY category on home page. I want to exclude ALL but one of them. Another way to say this is that I only want to show just one of the categories.
What magic code will do that for me?
============ UPDATE ===========
============ UPDATE ===========
============ UPDATE ===========I found it. The minus sign means "exclude" I took it off and that means "include":
$query->set( 'cat', '3' );
(3 is the category ID of the posts I want to display.)
Hope this helps someone.
August 4, 2014 at 1:32 pm #117039krystynParticipantI've added this code here http://dudemom.com/ trying to exclude category 3119 from the homepage. I added the code to functions.php (currently) after trying home.php with neither removing it from home.
Will this not work with the balance theme?
August 4, 2014 at 6:13 pm #117066Brad DaltonParticipantIt only works on the home page which is determined by your Reading > Settings for the Posts Page.
-
AuthorPosts
- The forum ‘Design Tips and Tricks’ is closed to new topics and replies.