PluginProbe
Visualizer – Tables & Charts Manager with Built-in AI Generator / 3.0.0
Visualizer – Tables & Charts Manager with Built-in AI Generator v3.0.0
4.0.8 4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.10.1 3.10.10 3.10.11 3.10.12 3.10.13 3.10.14 3.10.15 3.10.2 3.10.3 All 149 releases
← All changes | classes/Visualizer/Module/Setup.php +51 -0 2.2.03.0.0 View file →
@@ -43,8 +43,59 @@
43 43 parent::__construct( $plugin );
44 44
45 45 $this->_addAction( 'init', 'setupCustomPostTypes' );
46 46 $this->_addAction( 'plugins_loaded', 'loadTextDomain' );
47 + $this->_addFilter( 'visualizer_logger_data', 'getLoggerData' );
48 + $this->_addFilter( 'visualizer_get_chart_counts', 'getChartCountsByTypeAndMeta' );
49 + }
50 + /**
51 + * Fetches the SDK logger data.
52 + *
53 + * @param array $data The default data that needs to be sent.
54 + *
55 + * @access public
56 + */
57 + public function getLoggerData( $data ) {
58 + return $this->getChartCountsByTypeAndMeta();
59 + }
60 +
61 + /**
62 + * Fetches the types of charts created and their counts.
63 + *
64 + * @param array $meta_keys An array of name vs. meta keys - to return how many charts have these keys.
65 + * @access private
66 + */
67 + public function getChartCountsByTypeAndMeta( $meta_keys = array() ) {
68 + $charts = array();
69 + $charts['chart_types'] = array();
70 + // the initial query arguments to fetch charts
71 + $query_args = array(
72 + 'post_type' => Visualizer_Plugin::CPT_VISUALIZER,
73 + 'posts_per_page' => 300,
74 + 'fields' => 'ids',
75 + 'no_rows_found' => false,
76 + 'update_post_meta_cache' => false,
77 + 'update_post_term_cache' => false,
78 +
79 + );
80 +
81 + $query = new WP_Query( $query_args );
82 + while ( $query->have_posts() ) {
83 + $chart_id = $query->next_post();
84 + $type = get_post_meta( $chart_id, Visualizer_Plugin::CF_CHART_TYPE, true );
85 + $charts['chart_types'][ $type ] = isset( $charts['chart_types'][ $type ] ) ? $charts['chart_types'][ $type ] + 1 : 1;
86 + if ( ! empty( $meta_keys ) ) {
87 + foreach ( $meta_keys as $name => $key ) {
88 + $data = get_post_meta( $chart_id, $key, true );
89 + if ( ! empty( $data ) ) {
90 + $charts[ $name ] = isset( $charts[ $name ] ) ? $charts[ $name ] + 1 : 1;
91 + } else {
92 + $charts[ $name ] = 0;
93 + }
94 + }
95 + }
96 + }
97 + return $charts;
47 98 }
48 99
49 100 /**
50 101 * Registers custom post type for charts.