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 / TableScreen / ManageValue / Post.php
codepress-admin-columns / classes / TableScreen / ManageValue Last commit date
Comment.php 2 days ago CommentServiceFactory.php 2 days ago Media.php 2 days ago MediaServiceFactory.php 2 days ago Post.php 2 days ago PostServiceFactory.php 2 days ago User.php 2 days ago UserServiceFactory.php 2 days ago
Post.php
55 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\TableScreen\ManageValue;
6
7 use AC\Exception\HookTimingException;
8 use AC\Table\ManageValue\RenderFactory;
9 use AC\TableScreen\ManageValueService;
10 use AC\Type\ColumnId;
11 use AC\Type\PostTypeSlug;
12 use AC\Type\Value;
13
14 class Post implements ManageValueService
15 {
16 private PostTypeSlug $post_type;
17
18 private int $priority;
19
20 private RenderFactory $factory;
21
22 public function __construct(
23 PostTypeSlug $post_type,
24 RenderFactory $factory,
25 int $priority = 100
26 ) {
27 $this->post_type = $post_type;
28 $this->factory = $factory;
29 $this->priority = $priority;
30 }
31
32 public function register(): void
33 {
34 $action = sprintf("manage_%s_posts_custom_column", $this->post_type);
35
36 if (did_action($action)) {
37 throw HookTimingException::called_too_late($action);
38 }
39
40 add_action($action, [$this, 'render_value'], $this->priority, 2);
41 }
42
43 public function render_value(...$args): void
44 {
45 [$column_id, $row_id] = $args;
46
47 $formatter = $this->factory->create(new ColumnId((string)$column_id));
48
49 if ($formatter) {
50 echo $formatter->format(new Value((int)$row_id));
51 }
52 }
53
54 }
55