PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.17.1
Independent Analytics – WordPress Analytics Plugin v1.17.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 / models / page_singular.php
independent-analytics / IAWP / models Last commit date
campaign.php 3 years ago current_traffic.php 3 years ago geo.php 3 years ago page.php 3 years ago page_author_archive.php 3 years ago page_date_archive.php 3 years ago page_home.php 3 years ago page_not_found.php 3 years ago page_post_type_archive.php 3 years ago page_search.php 3 years ago page_singular.php 3 years ago page_term_archive.php 3 years ago referrer.php 3 years ago view_stats.php 3 years ago visitor.php 3 years ago wc_stats.php 3 years ago
page_singular.php
117 lines
1 <?php
2
3 namespace IAWP;
4
5 class Page_Singular extends Page
6 {
7 private $singular_id;
8 private $is_deleted;
9
10 public function __construct($row)
11 {
12 $this->singular_id = $row->singular_id;
13 parent::__construct($row);
14 }
15
16 protected function resource_key(): string
17 {
18 return 'singular_id';
19 }
20
21 protected function resource_value(): string
22 {
23 return $this->singular_id;
24 }
25
26 protected function calculate_is_deleted(): bool
27 {
28 $post = get_post($this->singular_id);
29
30 return is_null($post) || is_null(get_post_type_object($post->post_type));
31 }
32
33 protected function calculate_url()
34 {
35 return get_permalink($this->singular_id);
36 }
37
38 protected function calculate_title()
39 {
40 return get_the_title($this->singular_id);
41 }
42
43 protected function calculate_type()
44 {
45 return get_post_type($this->singular_id);
46 }
47
48 protected function calculate_type_label()
49 {
50 return get_post_type_object(get_post_type($this->singular_id))->labels->singular_name;
51 }
52
53 protected function calculate_icon()
54 {
55 $icon = null;
56 if (!$this->calculate_is_deleted()) {
57 $icon = get_post_type_object($this->type(true))->menu_icon;
58 }
59 $has_icon = !is_null($icon);
60 $is_url = esc_url_raw($icon) == $icon;
61
62 $html = '<div class="post-type-icon">';
63 if ($has_icon && $is_url) {
64 if (StringUtil::str_contains($icon, 'svg')) {
65 $html .= '<span class="custom-icon" style="display: block;-webkit-mask: url(' . esc_url($icon) . ') no-repeat center;mask: url(' . esc_url($icon) . ') no-repeat center;"></span>';
66 } else {
67 $html .= '<span><img src="' . esc_url($icon) . '" width="20px" height="20px" /></span>';
68 }
69 } elseif ($has_icon) {
70 $html .= '<span class="dashicons ' . esc_attr($icon) . '"></span>';
71 } else {
72 $html .= '<span class="dashicons dashicons-admin-post"></span>';
73 }
74 $html .= '</div>';
75
76 return $html;
77 }
78
79 protected function calculate_author_id()
80 {
81 return get_post_field('post_author', $this->singular_id);
82 }
83
84 protected function calculate_author()
85 {
86 return get_the_author_meta('display_name', $this->author_id());
87 }
88
89 protected function calculate_avatar()
90 {
91 return get_avatar($this->author_id(), 20);
92 }
93
94 protected function calculate_date()
95 {
96 return get_the_date('U', $this->singular_id);
97 }
98
99 protected function calculate_category($formatted = true)
100 {
101 if (in_array($this->calculate_type(), get_post_types())) {
102 $categories = [];
103 foreach (get_the_category($this->singular_id) as $category) {
104 if ($formatted) {
105 $categories[] = get_the_category_by_ID($category->term_id);
106 } else {
107 $categories[] = $category->term_id;
108 }
109 }
110
111 return $formatted ? implode(', ', $categories) : $categories;
112 } else {
113 return null;
114 }
115 }
116 }
117