// Filter Genesis Loop
add_action( 'init', function() {
// Searches Only
$non_search = empty( $_GET['s'] );
if( $non_search ) {
return;
}
// Load Grid CSS
add_action( 'wp_head', function() {
?>
<style>
div.search-results-wrap, div.infinite-wrap {
display: grid;
grid-gap: 3em;
grid-template-columns: repeat( auto-fit, minmax( 300px, 1fr ) );
}
</style>
<?php
} );
// Replace Default Genesis Loop
remove_action( 'genesis_loop', 'genesis_do_loop' );
add_action( 'genesis_loop', function() {
echo '<div class="search-results-wrap">';
// Custom Query
$args = [
's' => $_GET['s'],
'post_type' => [ 'product', 'post' ],
'posts_per_page' => 24,
'order' => 'ASC',
'orderby' => 'title'
];
// Remove Certain Genesis Parts
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
remove_action( 'genesis_entry_footer', 'genesis_post_meta' );
// Other Available Genesis Parts
//remove_action( 'genesis_entry_content', 'genesis_do_post_image', 8 );
//remove_action( 'genesis_entry_content', 'genesis_do_post_content_nav', 12 );
//remove_action( 'genesis_entry_content', 'genesis_do_post_permalink', 14 );
//remove_action( 'genesis_entry_footer', 'genesis_entry_footer_markup_open', 5 );
//remove_action( 'genesis_entry_footer', 'genesis_entry_footer_markup_close', 15 );
//remove_action( 'genesis_after_endwhile', 'genesis_posts_nav' );
// Other Available Genesis Filters
//add_filter( 'genesis_pre_get_option_content_archive_limit', function() { return 150; } );
//add_filter( 'get_the_content_more_link', 'hs_read_more_link' );
//add_filter( 'genesis_pre_get_option_content_archive', function() { return 'excerpts'; } );
//add_filter( 'excerpt_more', 'hs_excerpt_read_more' );
//add_filter( 'excerpt_length', function() { return 150; } );
// Replace Search Result Item Body
remove_action( 'genesis_entry_content', 'genesis_do_post_content' );
add_action( 'genesis_entry_content', function() {
// Get Product Price
$price = '';
if( $product = wc_get_product() ) {
$price = sprintf(
'<p class="price">%s</p>',
$product->get_price_html()
);
}
?>
<div class="entry-content">
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'woocommerce_thumbnail' ); ?>
</a>
<?php echo $price; ?>
<p class="read-more">
<a class="button" href="<?php the_permalink(); ?>">
View <?php echo get_post_type(); ?>
</a>
</p>
</div>
<?php
} );
// Run Genesis Looper
genesis_custom_loop( $args );
echo '</div>';
} );
} );
Genesis theme custom search results template
Custom grid search results for Genesis powered sites (Genesis parent or child theme). Includes product price display.
How to use
PHP Code Snippets
- Log into a staging, development, or locally hosted clone of your site
- Install and activate Code Snippets
- WP Admin > Snippets > Add New
- Copy and paste the code from the Description tab above
- Check to ensure formatting came over properly and no syntax errors show up in the editor
- Customize the code as desired
- Add a meaningful title
- Select whether to run on front-end or back-end (or both)
- Click “Save and Activate”
- Test your site to ensure it works
- Disable if any problems, or recover
- Repeat for live environment
License
All code snippets are licensed GPLv2 (or later) matching WordPress licensing.
Disclaimer of warranty:
Except when otherwise stated in writing the copyright holders and/or other parties provide the program as-is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.
Support
- Describe the issue and what you’ve observed.
- Describe your expected outcome(s).
- List steps to reproduce the issue.
- Optionally provide screen-shot or video URLs.
