PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 2.1.6
Independent Analytics – WordPress Analytics Plugin v2.1.6
2.15.5 2.15.4 2.15.3 2.15.2 2.15.1 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
61 lines
1 <?php
2
3 namespace IAWP_SCOPED\IAWP\Tables;
4
5 use IAWP_SCOPED\IAWP\Rows\Pages;
6 use IAWP_SCOPED\IAWP\Statistics\Page_Statistics;
7 use IAWP_SCOPED\IAWP\Tables\Columns\Column;
8 use IAWP_SCOPED\IAWP\Tables\Groups\Group;
9 use IAWP_SCOPED\IAWP\Tables\Groups\Groups;
10 /** @internal */
11 class Table_Pages extends Table
12 {
13 protected function table_name() : string
14 {
15 return 'views';
16 }
17 protected function groups() : Groups
18 {
19 $groups = [];
20 $groups[] = new Group('page', \__('Page', 'independent-analytics'), \__('Pages', 'independent-analytics'), Pages::class, Page_Statistics::class);
21 return new Groups($groups);
22 }
23 protected function local_columns() : array
24 {
25 return [new Column(['id' => 'title', 'label' => \esc_html__('Title', 'independent-analytics'), 'visible' => \true, 'type' => 'string', 'database_column' => 'cached_title']), 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', 'database_column' => 'cached_url']), new Column(['id' => 'author', 'label' => \esc_html__('Author', 'independent-analytics'), 'visible' => \false, 'type' => 'select', 'options' => $this->author_options(), 'database_column' => 'cached_author_id', 'is_nullable' => \true]), new Column(['id' => 'type', 'label' => \esc_html__('Page Type', 'independent-analytics'), 'visible' => \true, 'type' => 'select', 'options' => $this->type_options(), 'database_column' => 'cached_type', 'is_nullable' => \true]), new Column(['id' => 'date', 'label' => \esc_html__('Publish Date', 'independent-analytics'), 'visible' => \false, 'type' => 'date', 'database_column' => 'cached_date', 'is_nullable' => \true]), new Column(['id' => 'category', 'label' => \esc_html__('Post Category', 'independent-analytics'), 'visible' => \false, 'type' => 'select', 'options' => $this->category_options(), 'database_column' => 'cached_category', 'is_nullable' => \true]), new Column(['id' => 'comments', 'label' => \esc_html__('Comments', 'independent-analytics'), 'visible' => \false, 'type' => 'int', 'is_nullable' => \true])];
26 }
27 private function author_options() : array
28 {
29 return \array_map(function ($author) {
30 return [$author->ID, $author->display_name];
31 }, \IAWP_SCOPED\iawp()->get_authors());
32 }
33 private function type_options() : array
34 {
35 $options = [];
36 $options[] = ['post', \esc_html__('Post', 'independent-analytics')];
37 $options[] = ['page', \esc_html__('Page', 'independent-analytics')];
38 $options[] = ['attachment', \esc_html__('Attachment', 'independent-analytics')];
39 foreach (\IAWP_SCOPED\iawp()->get_custom_types() as $custom_type) {
40 $options[] = [$custom_type, \get_post_type_object($custom_type)->labels->singular_name];
41 }
42 $options[] = ['category', \esc_html__('Category', 'independent-analytics')];
43 $options[] = ['post_tag', \esc_html__('Tag', 'independent-analytics')];
44 foreach (\IAWP_SCOPED\iawp()->get_custom_types(\true) as $taxonomy) {
45 $options[] = [$taxonomy, \get_taxonomy_labels(\get_taxonomy($taxonomy))->singular_name];
46 }
47 $options[] = ['blog-archive', \esc_html__('Blog Home', 'independent-analytics')];
48 $options[] = ['author-archive', \esc_html__('Author Archive', 'independent-analytics')];
49 $options[] = ['date-archive', \esc_html__('Date Archive', 'independent-analytics')];
50 $options[] = ['search-archive', \esc_html__('Search Results', 'independent-analytics')];
51 $options[] = ['not-found', \esc_html__('404', 'independent-analytics')];
52 return $options;
53 }
54 private function category_options() : array
55 {
56 return \array_map(function ($category) {
57 return [$category->term_id, $category->name];
58 }, \get_categories());
59 }
60 }
61