See this in action on Pinch of Yum.
First you define a template. Here’s the listing of all templates:
The single template contains the main query arguments and the display code. I like to use my own function which I define in the theme, ea_post_summary()
:
Then you set up the facets, which are the filtering criteria. Here’s a list of all the facets:
And the options on a specific facet:
Finally, the template file I use to display it all. I created a page called Recipes and selected the “Recipes” page template, which uses this code:
<?php | |
/** | |
* EA Genesis Child. | |
* | |
* @package EAGenesisChild | |
* @since 1.0.0 | |
* @copyright Copyright (c) 2014, Contributors to EA Genesis Child project | |
* @license GPL-2.0+ | |
*/ | |
/* Template Name: Recipe Listing */ | |
/** | |
* Recipe Listing | |
* | |
*/ | |
function ea_recipe_listing() { | |
echo facetwp_display( 'template', 'recipes' ); | |
echo facetwp_display( 'pager' ); | |
} | |
add_action( 'genesis_loop', 'ea_recipe_listing' ); | |
remove_action( 'genesis_loop', 'genesis_do_loop' ); | |
/** | |
* Recipe Listing Sidebar | |
* | |
*/ | |
function ea_recipe_listing_sidebar() { | |
remove_action( 'genesis_sidebar', 'genesis_do_sidebar' ); | |
if( function_exists( 'ss_do_sidebar' ) ) | |
remove_action( 'genesis_sidebar', 'ss_do_sidebar' ); | |
echo '<h5>Healthy</h5>'; | |
echo facetwp_display( 'facet', 'healthy' ); | |
echo '<h5>Breakfast</h5>'; | |
echo facetwp_display( 'facet', 'breakfast' ); | |
echo '<h5>Lunch</h5>'; | |
echo facetwp_display( 'facet', 'lunch' ); | |
echo '<h5>Dinner</h5>'; | |
echo facetwp_display( 'facet', 'dinner' ); | |
echo '<h5>Dessert</h5>'; | |
echo facetwp_display( 'facet', 'dessert' ); | |
} | |
add_action( 'genesis_sidebar', 'ea_recipe_listing_sidebar', 5 ); | |
genesis(); |