PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 / ColumnFactory / User / LastPostFactory.php
codepress-admin-columns / classes / ColumnFactory / User Last commit date
AuthorSlugFactory.php 3 months ago CommentCountFactory.php 3 months ago DescriptionFactory.php 3 months ago DisplayNameFactory.php 3 months ago FirstNameFactory.php 3 months ago FirstPostFactory.php 3 months ago FullNameFactory.php 3 months ago LastNameFactory.php 3 months ago LastPostFactory.php 3 months ago NicknameFactory.php 3 months ago PostCountFactory.php 3 months ago RegisteredDateFactory.php 3 months ago ShowToolbarFactory.php 3 months ago UserIdFactory.php 3 months ago UserNameFactory.php 3 months ago UserUrlFactory.php 3 months ago VisualEditingFactory.php 3 months ago
LastPostFactory.php
65 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\ColumnFactory\User;
6
7 use AC;
8 use AC\Column\BaseColumnFactory;
9 use AC\FormatterCollection;
10 use AC\Setting\ComponentCollection;
11 use AC\Setting\ComponentFactory;
12 use AC\Setting\Config;
13 use AC\Setting\DefaultSettingsBuilder;
14
15 class LastPostFactory extends BaseColumnFactory
16 {
17
18 private ComponentFactory\PostType $post_type;
19
20 private ComponentFactory\PostStatus $post_status;
21
22 private ComponentFactory\LinkablePostProperty $post_property;
23
24 public function __construct(
25 DefaultSettingsBuilder $default_settings_builder,
26 ComponentFactory\PostType $post_type,
27 ComponentFactory\PostStatus $post_status,
28 ComponentFactory\LinkablePostProperty $post_property
29 ) {
30 parent::__construct($default_settings_builder);
31
32 $this->post_type = $post_type;
33 $this->post_status = $post_status;
34 $this->post_property = $post_property;
35 }
36
37 public function get_label(): string
38 {
39 return __('Last Post', 'codepress-admin-columns');
40 }
41
42 public function get_column_type(): string
43 {
44 return 'column-last_post';
45 }
46
47 protected function get_formatters(Config $config): FormatterCollection
48 {
49 $post_type = $config->has('post_type') ? (array)$config->get('post_type') : null;
50 $post_status = $config->has('post_status') ? (array)$config->get('post_status') : null;
51
52 return parent::get_formatters($config)
53 ->prepend(new AC\Formatter\User\LastPost($post_type, $post_status));
54 }
55
56 protected function get_settings(Config $config): ComponentCollection
57 {
58 return new ComponentCollection([
59 $this->post_type->create($config),
60 $this->post_status->create($config),
61 $this->post_property->create($config),
62 ]);
63 }
64
65 }