PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.30.0
Independent Analytics – WordPress Analytics Plugin v1.30.0
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Tables / Table_Pages.php
independent-analytics / IAWP / Tables Last commit date
Columns 2 years ago Groups 2 years ago Table.php 2 years ago Table_Campaigns.php 2 years ago Table_Devices.php 2 years ago Table_Geo.php 2 years ago Table_Pages.php 2 years ago Table_Referrers.php 2 years ago
Table_Pages.php
59 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Tables;
4
5 use IAWP_SCOPED\IAWP\Queries\Resources;
6 use IAWP_SCOPED\IAWP\Tables\Columns\Column;
7 use IAWP_SCOPED\IAWP\Tables\Groups\Group;
8 use IAWP_SCOPED\IAWP\Tables\Groups\Groups;
9 class Table_Pages extends Table
10 {
11 protected function table_name() : string
12 {
13 return 'views';
14 }
15 protected function groups() : Groups
16 {
17 $groups = [];
18 $groups[] = new Group('page', \__('Page', 'independent-analytics'), \__('Pages', 'independent-analytics'), Resources::class);
19 return new Groups($groups);
20 }
21 protected function local_columns() : array
22 {
23 return [new Column(['id' => 'title', 'label' => \esc_html__('Title', 'independent-analytics'), 'visible' => \true, 'type' => 'string']), new Column(['id' => 'visitors', 'label' => \esc_html__('Visitors', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'views', 'label' => \esc_html__('Views', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'sessions', 'label' => \esc_html__('Sessions', 'independent-analytics'), 'visible' => \false, 'type' => 'int']), new Column(['id' => 'average_view_duration', 'label' => \esc_html__('View Duration', 'independent-analytics'), 'visible' => \true, 'type' => 'int', 'filter_placeholder' => 'Seconds']), new Column(['id' => 'bounce_rate', 'label' => \esc_html__('Bounce Rate', 'independent-analytics'), 'visible' => \true, 'type' => 'int']), new Column(['id' => 'visitors_growth', 'label' => \esc_html__('Visitors Growth', 'independent-analytics'), 'visible' => \false, 'type' => 'int', 'exportable' => \false]), new Column(['id' => 'views_growth', 'label' => \esc_html__('Views Growth', 'independent-analytics'), 'visible' => \false, 'type' => 'int', 'exportable' => \false]), new Column(['id' => 'entrances', 'label' => \esc_html__('Entrances', 'independent-analytics'), 'visible' => \false, 'type' => 'int']), new Column(['id' => 'exits', 'label' => \esc_html__('Exits', 'independent-analytics'), 'visible' => \false, 'type' => 'int']), new Column(['id' => 'exit_percent', 'label' => \esc_html__('Exit Rate', 'independent-analytics'), 'visible' => \false, 'type' => 'int']), new Column(['id' => 'url', 'label' => \esc_html__('URL', 'independent-analytics'), 'visible' => \true, 'type' => 'string']), new Column(['id' => 'author', 'label' => \esc_html__('Author', 'independent-analytics'), 'visible' => \false, 'type' => 'select', 'options' => $this->author_options()]), new Column(['id' => 'type', 'label' => \esc_html__('Page Type', 'independent-analytics'), 'visible' => \true, 'type' => 'select', 'options' => $this->type_options()]), new Column(['id' => 'date', 'label' => \esc_html__('Publish Date', 'independent-analytics'), 'visible' => \false, 'type' => 'date']), new Column(['id' => 'category', 'label' => \esc_html__('Post Category', 'independent-analytics'), 'visible' => \false, 'type' => 'select', 'options' => $this->category_options()]), new Column(['id' => 'comments', 'label' => \esc_html__('Comments', 'independent-analytics'), 'visible' => \false, 'type' => 'int'])];
24 }
25 private function author_options() : array
26 {
27 return \array_map(function ($author) {
28 return [$author->ID, $author->display_name];
29 }, \IAWP_SCOPED\iawp()->get_authors());
30 }
31 private function type_options() : array
32 {
33 $options = [];
34 $options[] = ['post', \esc_html__('Post', 'independent-analytics')];
35 $options[] = ['page', \esc_html__('Page', 'independent-analytics')];
36 $options[] = ['attachment', \esc_html__('Attachment', 'independent-analytics')];
37 foreach (\IAWP_SCOPED\iawp()->get_custom_types() as $custom_type) {
38 $options[] = [$custom_type, \get_post_type_object($custom_type)->labels->singular_name];
39 }
40 $options[] = ['category', \esc_html__('Category', 'independent-analytics')];
41 $options[] = ['post_tag', \esc_html__('Tag', 'independent-analytics')];
42 foreach (\IAWP_SCOPED\iawp()->get_custom_types(\true) as $taxonomy) {
43 $options[] = [$taxonomy, \get_taxonomy_labels(\get_taxonomy($taxonomy))->singular_name];
44 }
45 $options[] = ['blog-archive', \esc_html__('Blog Home', 'independent-analytics')];
46 $options[] = ['author-archive', \esc_html__('Author Archive', 'independent-analytics')];
47 $options[] = ['date-archive', \esc_html__('Date Archive', 'independent-analytics')];
48 $options[] = ['search-archive', \esc_html__('Search Results', 'independent-analytics')];
49 $options[] = ['not-found', \esc_html__('404', 'independent-analytics')];
50 return $options;
51 }
52 private function category_options() : array
53 {
54 return \array_map(function ($category) {
55 return [$category->term_id, $category->name];
56 }, \get_categories());
57 }
58 }
59