0 && WPUltimatePostGrid::is_premium_active() ) { // Term Grid. if ( $grid->type() == 'terms' ) { if( isset( $options['term_id'] ) ) { $term_ids = str_replace( ',', ';', $options['term_id'] ); $term_ids = str_replace( 'current_term', get_queried_object_id(), $term_ids ); $dynamic_rules = array( 'values' => explode( ';', $term_ids ), 'type' => 'restrict', ); unset( $options['term_id'] ); } if( isset( $options['exclude_term_id'] ) ) { $term_ids = str_replace( ',', ';', $options['exclude_term_id'] ); $term_ids = str_replace( 'current_term', get_queried_object_id(), $term_ids ); $dynamic_rules = array( 'values' => explode( ';', $term_ids ), 'type' => 'exclude', ); unset( $options['exclude_term_id'] ); } } else { // Post Grid. if( isset( $options['post_id'] ) ) { $post_ids = str_replace( ',', ';', $options['post_id'] ); $post_ids = str_replace( 'current_post', get_the_ID(), $post_ids ); $dynamic_rules[] = array( 'post_type' => 'wpupg_general', 'taxonomy' => 'id', 'values' => explode( ';', $post_ids ), 'type' => 'restrict', ); unset( $options['post_id'] ); } if( isset( $options['exclude_post_id'] ) ) { $post_ids = str_replace( ',', ';', $options['exclude_post_id'] ); $post_ids = str_replace( 'current_post', get_the_ID(), $post_ids ); $dynamic_rules[] = array( 'post_type' => 'wpupg_general', 'taxonomy' => 'id', 'values' => explode( ';', $post_ids ), 'type' => 'exclude', ); unset( $options['exclude_post_id'] ); } if( isset( $options['author'] ) ) { $author_ids = str_replace( ',', ';', $options['author'] ); $author_ids = str_replace( 'current_user', get_current_user_id(), $author_ids ); $dynamic_rules[] = array( 'post_type' => 'wpupg_general', 'taxonomy' => 'author', 'values' => explode( ';', $author_ids ), 'type' => 'restrict', ); unset( $options['author'] ); } if( isset( $options['exclude_author'] ) ) { $author_ids = str_replace( ',', ';', $options['exclude_author'] ); $author_ids = str_replace( 'current_user', get_current_user_id(), $author_ids ); $dynamic_rules[] = array( 'post_type' => 'wpupg_general', 'taxonomy' => 'author', 'values' => explode( ';', $author_ids ), 'type' => 'exclude', ); unset( $options['exclude_author'] ); } if( isset( $options['date'] ) ) { $date_condition = str_replace( '_today', '', $options['date'] ); $date_condition = in_array( $date_condition, array( 'before', 'after' ) ) ? $date_condition : 'is'; $dynamic_rules[] = array( 'post_type' => 'wpupg_general', 'taxonomy' => 'date', 'values' => array( $date_condition, date( 'Y-m-d' ) ), 'type' => 'restrict', ); unset( $options['date'] ); } foreach( $options as $taxonomy => $terms ) { if( taxonomy_exists( $taxonomy ) ) { $dynamic_rules[] = array( 'post_type' => 'wpupg_dynamic', 'taxonomy' => $taxonomy, 'values' => explode( ';', str_replace( ',', ';', $terms ) ), 'type' => 'restrict', ); } elseif( 'exclude_' === substr( $taxonomy, 0, 8 ) ) { $dynamic_rules[] = array( 'post_type' => 'wpupg_dynamic', 'taxonomy' => substr( $taxonomy, 8 ), 'values' => explode( ';', str_replace( ',', ';', $terms ) ), 'type' => 'exclude', ); } } } } if( count( $dynamic_rules ) > 0 || 'rand' === $grid->order_by() ) { $grid->set_dynamic_rules( $dynamic_rules ); } else if ( WPUltimatePostGrid::option( 'cache_reset_front_end', '1' ) == '1' ) { // Make sure latest version of grid is shown. $grid_ids = get_option( 'wpupg_regenerate_grids_check', false ); if( $grid_ids && in_array( $grid->ID(), $grid_ids ) ) { WPUltimatePostGrid::get()->helper( 'grid_cache' )->generate( $grid->ID() ); } } if ( $no_output_mode ) { return ''; } $link_type = $grid->link_type(); $link_target = $grid->link_target(); $layout_mode = $grid->layout_mode(); $centered = $grid->centered() ? 'true' : 'false'; $posts = '
'; $posts .= $grid->draw_posts(); $posts .= '
'; $output = apply_filters( 'wpupg_posts_shortcode', $posts, $grid ); // Message when no items match filter if( $grid->empty_message() ) { $output .= '
' . $grid->empty_message() . '
'; } $pagination = ''; if( $grid->pagination_type() == 'pages' ) { $pagination_type = $grid->pagination_type(); $pagination_style = $grid->pagination_style(); $style_data = ' data-margin-vertical="' . $pagination_style['margin_vertical'] . '"'; $style_data .= ' data-margin-horizontal="' . $pagination_style['margin_horizontal'] . '"'; $style_data .= ' data-padding-vertical="' . $pagination_style['padding_vertical'] . '"'; $style_data .= ' data-padding-horizontal="' . $pagination_style['padding_horizontal'] . '"'; $style_data .= ' data-border-width="' . $pagination_style['border_width'] . '"'; $style_data .= ' data-background-color="' . $pagination_style['background_color'] . '"'; $style_data .= ' data-text-color="' . $pagination_style['text_color'] . '"'; $style_data .= ' data-border-color="' . $pagination_style['border_color'] . '"'; $style_data .= ' data-active-background-color="' . $pagination_style['background_active_color'] . '"'; $style_data .= ' data-active-text-color="' . $pagination_style['text_active_color'] . '"'; $style_data .= ' data-active-border-color="' . $pagination_style['border_active_color'] . '"'; $style_data .= ' data-hover-background-color="' . $pagination_style['background_hover_color'] . '"'; $style_data .= ' data-hover-text-color="' . $pagination_style['text_hover_color'] . '"'; $style_data .= ' data-hover-border-color="' . $pagination_style['border_hover_color'] . '"'; $pagination .= '
'; $pagination .= $grid->draw_pagination(); $pagination .= '
'; } $output .= apply_filters( 'wpupg_pagination_shortcode', $pagination, $grid ); wp_localize_script( 'wpupg_grid', 'wpupg_grid_' . $grid->ID(), array( 'posts' => $grid->posts(), )); } } return $output; } public function tinymce_plugin( $plugin_array ) { $plugin_array['wpupg_grid_shortcode'] = WPUltimatePostGrid::get()->coreUrl . '/js/tinymce_shortcode.js'; return $plugin_array; } }