Add this code to the functions.php
file of your Genesis Child theme to add support for iThemes Loop Buddy.
add_theme_support('loop-standard');
if ( ! function_exists( 'dynamic_loop' ) ) {
function dynamic_loop() {
global $dynamic_loop_handlers;
if ( empty( $dynamic_loop_handlers ) || ! is_array( $dynamic_loop_handlers ) )
return false;
ksort( $dynamic_loop_handlers );
foreach ( (array) $dynamic_loop_handlers as $handlers ) {
foreach ( (array) $handlers as $function ) {
if ( is_callable( $function ) && ( false != call_user_func( $function ) ) ) {
return true;
}
}
}
return false;
}
}
if ( ! function_exists( 'register_dynamic_loop_handler' ) ) {
function register_dynamic_loop_handler( $function, $priority = 10 ) {
global $dynamic_loop_handlers;
if ( ! is_numeric( $priority ) )
$priority = 10;
if ( ! isset( $dynamic_loop_handlers ) || ! is_array( $dynamic_loop_handlers ) )
$dynamic_loop_handlers = array();
if ( ! isset( $dynamic_loop_handlers[$priority] ) || ! is_array( $dynamic_loop_handlers[$priority] ) )
$dynamic_loop_handlers[$priority] = array();
$dynamic_loop_handlers[$priority][] = $function;
}
}
remove_action('genesis_loop', 'genesis_do_loop');
add_action('genesis_loop', 'add_loopbuddy_support');
function add_loopbuddy_support() {
if (!dynamic_loop()) :
if ( is_page_template( 'page_blog.php' ) ) {
$include = genesis_get_option( 'blog_cat' );
$exclude = genesis_get_option( 'blog_cat_exclude' ) ? explode( ',', str_replace( ' ', '', genesis_get_option( 'blog_cat_exclude' ) ) ) : '';
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
/** Easter Egg */
$query_args = wp_parse_args(
genesis_get_custom_field( 'query_args' ),
array(
'cat' => $include,
'category__not_in' => $exclude,
'showposts' => genesis_get_option( 'blog_cat_num' ),
'paged' => $paged,
)
);
genesis_custom_loop( $query_args );
} else {
genesis_standard_loop();
}
endif;
}