Skip to content

Instantly share code, notes, and snippets.

@Crocoblock
Last active June 21, 2024 18:32
Show Gist options
  • Save Crocoblock/36cf11811c8b197a17aadd1615dd7e2b to your computer and use it in GitHub Desktop.
Save Crocoblock/36cf11811c8b197a17aadd1615dd7e2b to your computer and use it in GitHub Desktop.
JetEngine Break listing alphabetically load more / pagination compatibility / Terms Query compatibility
<?php
add_filter( 'jet-engine/listing/render/default-settings', function( $settings ){
$settings['jet_break_alphabetically'] = $settings['jet_break_alphabetically'] ?? false;
$settings['jet_break_by_prop'] = $settings['jet_break_by_prop'] ?? false;
$settings['jet_break_markup'] = $settings['jet_break_jet_break_markupalphabetically'] ?? false;
return $settings;
} );
add_filter( 'jet-engine/listing/grid/nav-widget-settings', function( $nav, $settings ) {
$nav['jet_break_alphabetically'] = $settings['jet_break_alphabetically'] ?? false;
$nav['jet_break_by_prop'] = $settings['jet_break_by_prop'] ?? false;
$nav['jet_break_markup'] = $settings['jet_break_markup'] ?? false;
return $nav;
}, 10, 2 );
add_filter( 'jet-engine-break-alphabetically/prev-post', function( $post, $query, $listing ) {
if ( $post || $query->query_type !== 'terms' ) {
return $post;
}
$page = $query->get_current_items_page();
$per_page = $query->get_items_per_page();
if ( $page === 1 ) {
return $post;
}
$args = $query->build_current_query();
$args['offset'] = ( $page - 2 ) * $per_page;
$terms = get_terms( $args );
return $terms[ array_key_last( $terms ) ] ?? $post;
}, 10, 3 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment