PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 5 months ago CommentServiceFactory.php 5 months ago Media.php 5 months ago MediaServiceFactory.php 5 months ago Post.php 5 months ago PostServiceFactory.php 5 months ago User.php 5 months ago UserServiceFactory.php 5 months 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
17 private PostTypeSlug $post_type;
18
19 private int $priority;
20
21 private RenderFactory $factory;
22
23 public function __construct(
24 PostTypeSlug $post_type,
25 RenderFactory $factory,
26 int $priority = 100
27 ) {
28 $this->post_type = $post_type;
29 $this->factory = $factory;
30 $this->priority = $priority;
31 }
32
33 public function register(): void
34 {
35 $action = sprintf("manage_%s_posts_custom_column", $this->post_type);
36
37 if (did_action($action)) {
38 throw HookTimingException::called_too_late($action);
39 }
40
41 add_action($action, [$this, 'render_value'], $this->priority, 2);
42 }
43
44 public function render_value(...$args): void
45 {
46 [$column_id, $row_id] = $args;
47
48 $formatter = $this->factory->create(new ColumnId((string)$column_id));
49
50 if ($formatter) {
51 echo $formatter->format(new Value((int)$row_id));
52 }
53 }
54
55 }