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 / Post / PostLink.php
codepress-admin-columns / classes / Formatter / Post Last commit date
Attachments.php 1 day ago Author.php 1 day ago BeforeMoreContent.php 1 day ago CommentCount.php 1 day ago CommentsForPostLink.php 1 day ago ContentExcerpt.php 1 day ago DatePublishFormatted.php 1 day ago Depth.php 1 day ago DescriptivePostStatus.php 1 day ago DiscussionStatus.php 1 day ago Excerpt.php 1 day ago ExcerptMissingMessage.php 1 day ago ExcerptRaw.php 1 day ago FeaturedImage.php 1 day ago HasCommentStatus.php 1 day ago IsPasswordProtected.php 1 day ago IsSticky.php 1 day ago LastModifiedAuthor.php 1 day ago Meta.php 1 day ago ModifiedDate.php 1 day ago Order.php 1 day ago PageTemplate.php 1 day ago Path.php 1 day ago Permalink.php 1 day ago PingStatus.php 1 day ago PostContent.php 1 day ago PostDate.php 1 day ago PostDateTimestamp.php 1 day ago PostFormat.php 1 day ago PostFormatIcon.php 1 day ago PostFormatLabel.php 1 day ago PostLink.php 1 day ago PostParentId.php 1 day ago PostReferences.php 1 day ago PostStatus.php 1 day ago PostStatusIcon.php 1 day ago PostTerms.php 1 day ago PostTermsOriginal.php 1 day ago PostTitle.php 1 day ago Property.php 1 day ago ShortLink.php 1 day ago Shortcodes.php 1 day ago Slug.php 1 day ago
PostLink.php
59 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\Post;
6
7 use AC\Exception\ValueNotFoundException;
8 use AC\Formatter;
9 use AC\Helper;
10 use AC\Type\Value;
11 use WP_Post;
12
13 class PostLink implements Formatter
14 {
15 private string $link_type;
16
17 public function __construct(string $link_type)
18 {
19 $this->link_type = $link_type;
20 }
21
22 public function format(Value $value): Value
23 {
24 $post = get_post(
25 $value->get_id()
26 );
27
28 if (! $post instanceof WP_Post) {
29 throw ValueNotFoundException::from_id($value->get_id() ?? 0);
30 }
31
32 switch ($this->link_type) {
33 case 'edit_post':
34 $link = get_edit_post_link($post);
35
36 break;
37 case 'view_post' :
38 $link = get_permalink($post);
39
40 break;
41 case 'edit_author':
42 $link = get_edit_user_link((int)$post->post_author);
43
44 break;
45 case 'view_author':
46 $link = get_author_posts_url((int)$post->post_author);
47
48 break;
49 default:
50 $link = null;
51 }
52
53 return $link
54 ? $value->with_value(Helper\Html::create()->link($link, (string)$value))
55 : $value;
56 }
57
58 }
59