I'm trying to create shortcode that displays post loop in my Genesis Framework theme. I'd like it to display standard loop that can still be configurable in WordPress dashboard. This is what I came up with (obviously not working):
//* Shortcodize post loop
remove_action( 'genesis_loop', 'genesis_do_loop' );
add_action( 'genesis_before_loop', 'll_custom_loop' );
function ll_custom_loop() {
remove_action( 'genesis_loop', 'genesis_do_loop' );
add_action( 'genesis_loop', 'll_custom_loop_insider' );
function ll_custom_loop_insider() {
add_action( 'genesis_loop', 'genesis_do_loop' );
do_action( 'genesis_do_loop' );
echo 'test';
}
}
add_shortcode( 'blog_posts', 'll_custom_loop' );
What this thing does is echoing "test" without any posts and before even shortcode is applied. After inserting shortcode I receive error telling me that my function is redeclared. I'm trying to use shortcode in text widget of SiteOrigin's "Page Builder", if that's changing anything. What am I missing?
Thanks,
Luca