| @@ -304,8 +304,19 @@ | ||
| 304 | 304 | ), |
| 305 | 305 | $atts |
| 306 | 306 | ); |
| 307 | 307 | |
| 308 | + if ( Visualizer_Module::is_pro() && function_exists( 'icl_get_languages' ) ) { | |
| 309 | + global $sitepress; | |
| 310 | + $locale = icl_get_current_language(); | |
| 311 | + $locale = strtolower( str_replace( '_', '-', $locale ) ); | |
| 312 | + $trid = $sitepress->get_element_trid( $atts['id'], 'post_' . Visualizer_Plugin::CPT_VISUALIZER ); | |
| 313 | + $translations = $sitepress->get_element_translations( $trid ); | |
| 314 | + if ( isset( $translations[ $locale ] ) && is_object( $translations[ $locale ] ) ) { | |
| 315 | + $atts['id'] = $translations[ $locale ]->element_id; | |
| 316 | + } | |
| 317 | + } | |
| 318 | + | |
| 308 | 319 | $chart_data = $this->getChartData( Visualizer_Plugin::CF_CHART_CACHE, $atts['id'] ); |
| 309 | 320 | // if empty chart does not exists, then return empty string. |
| 310 | 321 | if ( ! $chart_data ) { |
| 311 | 322 | return ''; |
| @@ -318,8 +329,12 @@ | ||
| 318 | 329 | if ( ! apply_filters( 'visualizer_pro_show_chart', true, $atts['id'] ) ) { |
| 319 | 330 | return ''; |
| 320 | 331 | } |
| 321 | 332 | |
| 333 | + if ( ! is_admin() && ! empty( $chart_data['is_woocommerce_report'] ) ) { | |
| 334 | + return ''; | |
| 335 | + } | |
| 336 | + | |
| 322 | 337 | // in case revisions exist. |
| 323 | 338 | // phpcs:ignore WordPress.CodeAnalysis.AssignmentInCondition.Found |
| 324 | 339 | if ( true === ( $revisions = $this->undoRevisions( $chart->ID, true ) ) ) { |
| 325 | 340 | $chart = get_post( $chart->ID ); |
| @@ -638,10 +653,11 @@ | ||
| 638 | 653 | |
| 639 | 654 | // Get chart by ID. |
| 640 | 655 | $chart = get_post( $chart_id ); |
| 641 | 656 | if ( $chart && Visualizer_Plugin::CPT_VISUALIZER === $chart->post_type ) { |
| 642 | - $settings = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SETTINGS, true ); | |
| 643 | - $series = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SERIES, true ); | |
| 657 | + $settings = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SETTINGS, true ); | |
| 658 | + $series = get_post_meta( $chart->ID, Visualizer_Plugin::CF_SERIES, true ); | |
| 659 | + $is_woocommerce_report = get_post_meta( $chart->ID, Visualizer_Plugin::CF_IS_WOOCOMMERCE_SOURCE, true ); | |
| 644 | 660 | |
| 645 | 661 | if ( isset( $settings['series'] ) && ! ( count( $settings['series'] ) - count( $series ) > 1 ) ) { |
| 646 | 662 | $diff_total_series = abs( count( $settings['series'] ) - count( $series ) ); |
| 647 | 663 | if ( $diff_total_series ) { |
| @@ -650,13 +666,14 @@ | ||
| 650 | 666 | } |
| 651 | 667 | } |
| 652 | 668 | } |
| 653 | 669 | $chart_data = array( |
| 654 | - 'chart' => $chart, | |
| 655 | - 'type' => get_post_meta( $chart->ID, Visualizer_Plugin::CF_CHART_TYPE, true ), | |
| 656 | - 'settings' => $settings, | |
| 657 | - 'series' => $series, | |
| 658 | - 'chart_image' => get_post_meta( $chart->ID, Visualizer_Plugin::CF_CHART_IMAGE, true ), | |
| 670 | + 'chart' => $chart, | |
| 671 | + 'type' => get_post_meta( $chart->ID, Visualizer_Plugin::CF_CHART_TYPE, true ), | |
| 672 | + 'settings' => $settings, | |
| 673 | + 'series' => $series, | |
| 674 | + 'chart_image' => get_post_meta( $chart->ID, Visualizer_Plugin::CF_CHART_IMAGE, true ), | |
| 675 | + 'is_woocommerce_report' => $is_woocommerce_report, | |
| 659 | 676 | ); |
| 660 | 677 | |
| 661 | 678 | // Put the results in a transient. Expire after 12 hours. |
| 662 | 679 | set_transient( $cache_key, $chart_data, apply_filters( Visualizer_Plugin::FILTER_HANDLE_CACHE_EXPIRATION_TIME, 12 * HOUR_IN_SECONDS ) ); |