PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Formatter / Term / TermLink.php
codepress-admin-columns / classes / Formatter / Term Last commit date
Meta.php 1 day ago Slug.php 1 day ago TermLink.php 1 day ago TermProperty.php 1 day ago
TermLink.php
60 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\Term;
6
7 use AC\Formatter;
8 use AC\Helper;
9 use AC\Type\PostTypeSlug;
10 use AC\Type\Value;
11 use WP_Term;
12
13 class TermLink implements Formatter
14 {
15 private string $link_to;
16
17 private ?PostTypeSlug $post_type;
18
19 public function __construct(string $link_to, ?PostTypeSlug $post_type = null)
20 {
21 $this->link_to = $link_to;
22 $this->post_type = $post_type;
23 }
24
25 public function format(Value $value): Value
26 {
27 $link = null;
28
29 switch ($this->link_to) {
30 case 'filter':
31 $term = get_term($value->get_id());
32
33 if ($term instanceof WP_Term) {
34 $link = Helper\Taxonomy::create()->get_filter_by_term_url(
35 $term,
36 (string)$this->post_type
37 );
38
39 $link = apply_filters(
40 'ac/formatter/term/link',
41 $link,
42 $term,
43 (string)$this->post_type
44 );
45 }
46 break;
47 case 'edit':
48 $term = get_term($value->get_id());
49 $link = $term instanceof WP_Term ? get_edit_term_link($term, $term->taxonomy) : null;
50
51 break;
52 }
53
54 return $link && is_string($link)
55 ? $value->with_value(Helper\Html::create()->link($link, (string)$value))
56 : $value;
57 }
58
59 }
60