mbis

jReviews

Aug 11th, 2025
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.39 KB | None | 0 0
  1. function pm_fix_jreviews_query( $query, $old_query, $uri_parts, $pm_query, $content_type ) {
  2.     $endpoints = array(
  3.         'filter' => 'filter',
  4.         'videos' => 'videos',
  5.         'photos' => 'photos',
  6.         'uploads' => 'upload',
  7.         'reviews' => 'reviews',
  8.         'discussions' => 'discussions',
  9.         'new' => 'new',
  10.         'edit' => 'listing-edit'
  11.     );
  12.    
  13.     if ( ! empty( $pm_query['id'] ) && is_numeric( $pm_query['id'] ) ) {
  14.         foreach ( $endpoints as $endpoint => $endpoint_value ) {   
  15.             if ( isset( $query[ $endpoint ] ) ) {
  16.                 $query['url'] = $endpoint_value;
  17.                 unset( $query[ $endpoint ] );
  18.                 break; // Stop the loop once a match is found
  19.             }
  20.         }
  21.     }
  22.    
  23.     return $query;
  24. }
  25. add_filter('permalink_manager_filter_query', 'pm_fix_jreviews_query', 3, 5);
  26.  
  27. function pm_exclude_jreviews_pages( $excluded_ids ) {
  28.     if ( class_exists( 'JReviews\JReviews' ) ) {
  29.         $args = array(
  30.             'post_type'      => 'page',
  31.             'post_status'    => 'publish',
  32.             'posts_per_page' => -1,
  33.             'fields'         => 'ids',
  34.             'meta_query'     => array(
  35.                 array(
  36.                     'key'     => '_jr_menu_type',
  37.                     'compare' => 'EXISTS',
  38.                 ),
  39.             ),
  40.         );
  41.  
  42.         $jr_menu_page_ids = get_posts($args);
  43.         if( ! empty( $jr_menu_page_ids ) && count( $jr_menu_page_ids ) ) {
  44.             $excluded_ids = array_merge( $excluded_ids, $jr_menu_page_ids );
  45.         }
  46.     }
  47.  
  48.     return $excluded_ids;
  49. }
  50. add_filter( 'permalink_manager_excluded_post_ids', 'pm_exclude_jreviews_pages' );
Advertisement
Add Comment
Please, Sign In to add comment