| @@ -13,11 +13,11 @@ | ||
| 13 | 13 | { |
| 14 | 14 | $output = ''; |
| 15 | 15 | |
| 16 | 16 | $slug = strtolower( trim( $options['id'] ) ); |
| 17 | + unset( $options['id'] ); | |
| 17 | 18 | |
| 18 | 19 | if( $slug ) { |
| 19 | - unset( $options['id'] ); | |
| 20 | 20 | $post = get_page_by_path( $slug, OBJECT, WPUPG_POST_TYPE ); |
| 21 | 21 | |
| 22 | 22 | if( !is_null( $post ) ) { |
| 23 | 23 | $grid = new WPUPG_Grid( $post ); |
| @@ -24,35 +24,8 @@ | ||
| 24 | 24 | |
| 25 | 25 | // Check if we need to filter the grid dynamically |
| 26 | 26 | $dynamic_rules = array(); |
| 27 | 27 | if( count( $options ) > 0 && WPUltimatePostGrid::is_premium_active() ) { |
| 28 | - | |
| 29 | - if( isset( $options['post_id'] ) ) { | |
| 30 | - $post_ids = str_replace( ',', ';', $options['post_id'] ); | |
| 31 | - $post_ids = str_replace( 'current_post', get_the_ID(), $post_ids ); | |
| 32 | - | |
| 33 | - $dynamic_rules[] = array( | |
| 34 | - 'post_type' => 'wpupg_general', | |
| 35 | - 'taxonomy' => 'id', | |
| 36 | - 'values' => explode( ';', $post_ids ), | |
| 37 | - 'type' => 'restrict', | |
| 38 | - ); | |
| 39 | - unset( $options['post_id'] ); | |
| 40 | - } | |
| 41 | - | |
| 42 | - if( isset( $options['exclude_post_id'] ) ) { | |
| 43 | - $post_ids = str_replace( ',', ';', $options['exclude_post_id'] ); | |
| 44 | - $post_ids = str_replace( 'current_post', get_the_ID(), $post_ids ); | |
| 45 | - | |
| 46 | - $dynamic_rules[] = array( | |
| 47 | - 'post_type' => 'wpupg_general', | |
| 48 | - 'taxonomy' => 'id', | |
| 49 | - 'values' => explode( ';', $post_ids ), | |
| 50 | - 'type' => 'exclude', | |
| 51 | - ); | |
| 52 | - unset( $options['exclude_post_id'] ); | |
| 53 | - } | |
| 54 | - | |
| 55 | 28 | foreach( $options as $taxonomy => $terms ) { |
| 56 | 29 | if( taxonomy_exists( $taxonomy ) ) { |
| 57 | 30 | $dynamic_rules[] = array( |
| 58 | 31 | 'post_type' => 'wpupg_dynamic', |
| @@ -71,19 +44,14 @@ | ||
| 71 | 44 | $link_target = $grid->link_target(); |
| 72 | 45 | $layout_mode = $grid->layout_mode(); |
| 73 | 46 | $centered = $grid->centered() ? 'true' : 'false'; |
| 74 | 47 | |
| 75 | - $posts = '<div id="wpupg-grid-' . esc_attr( $slug ) . '" class="wpupg-grid" data-grid="' . esc_attr( $slug ) . '" data-grid-id="' . $grid->ID() . '" data-link-type="' . $link_type . '" data-link-target="' . $link_target . '" data-layout-mode="' . $layout_mode . '" data-centered="' . $centered . '">'; | |
| 48 | + $posts = '<div id="wpupg-grid-' . esc_attr( $slug ) . '" class="wpupg-grid" data-grid="' . esc_attr( $slug ) . '" data-link-type="' . $link_type . '" data-link-target="' . $link_target . '" data-layout-mode="' . $layout_mode . '" data-centered="' . $centered . '">'; | |
| 76 | 49 | $posts .= $grid->draw_posts(); |
| 77 | 50 | $posts .= '</div>'; |
| 78 | 51 | |
| 79 | 52 | $output = apply_filters( 'wpupg_posts_shortcode', $posts, $grid ); |
| 80 | 53 | |
| 81 | - // Message when no items match filter | |
| 82 | - if( $grid->empty_message() ) { | |
| 83 | - $output .= '<div id="wpupg-grid-' . esc_attr( $slug ) . '-empty" class="wpupg-grid-empty">' . $grid->empty_message() . '</div>'; | |
| 84 | - } | |
| 85 | - | |
| 86 | 54 | $pagination = ''; |
| 87 | 55 | if( $grid->pagination_type() == 'pages' ) { |
| 88 | 56 | $pagination_type = $grid->pagination_type(); |
| 89 | 57 | $pagination_style = $grid->pagination_style(); |
| @@ -111,12 +79,8 @@ | ||
| 111 | 79 | $pagination .= '</div>'; |
| 112 | 80 | } |
| 113 | 81 | |
| 114 | 82 | $output .= apply_filters( 'wpupg_pagination_shortcode', $pagination, $grid ); |
| 115 | - | |
| 116 | - wp_localize_script( 'wpupg_grid', 'wpupg_grid_' . $grid->ID(), array( | |
| 117 | - 'posts' => $grid->posts(), | |
| 118 | - )); | |
| 119 | 83 | } |
| 120 | 84 | } |
| 121 | 85 | |
| 122 | 86 | return $output; |