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 / ColumnFactory / User / PostCountFactory.php
codepress-admin-columns / classes / ColumnFactory / User Last commit date
AuthorSlugFactory.php 1 day ago CommentCountFactory.php 1 day ago DescriptionFactory.php 1 day ago DisplayNameFactory.php 1 day ago FirstNameFactory.php 1 day ago FirstPostFactory.php 1 day ago FullNameFactory.php 1 day ago LastNameFactory.php 1 day ago LastPostFactory.php 1 day ago NicknameFactory.php 1 day ago PostCountFactory.php 1 day ago RegisteredDateFactory.php 1 day ago ShowToolbarFactory.php 1 day ago UserIdFactory.php 1 day ago UserNameFactory.php 1 day ago UserUrlFactory.php 1 day ago VisualEditingFactory.php 1 day ago
PostCountFactory.php
73 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 PostCountFactory extends BaseColumnFactory
16 {
17 private ComponentFactory\PostTypeFactory $post_type_factory;
18
19 private ComponentFactory\PostStatus $post_status;
20
21 public function __construct(
22 DefaultSettingsBuilder $default_settings_builder,
23 ComponentFactory\PostStatus $post_status,
24 ComponentFactory\PostTypeFactory $post_type_factory
25 ) {
26 parent::__construct($default_settings_builder);
27
28 $this->post_status = $post_status;
29 $this->post_type_factory = $post_type_factory;
30 }
31
32 public function get_label(): string
33 {
34 return __('Post Count', 'codepress-admin-columns');
35 }
36
37 public function get_column_type(): string
38 {
39 return 'column-user_postcount';
40 }
41
42 protected function get_formatters(Config $config): FormatterCollection
43 {
44 return parent::get_formatters($config)
45 ->add(
46 new AC\Formatter\User\PostCount(
47 $this->get_post_types($config) ?: [],
48 $config->get('post_status') ?: []
49 )
50 );
51 }
52
53 protected function get_settings(Config $config): ComponentCollection
54 {
55 return new ComponentCollection([
56 $this->post_type_factory->create(true, false)->create($config),
57 $this->post_status->create($config),
58 ]);
59 }
60
61 private function get_post_types(Config $config): ?array
62 {
63 $post_type = $config->get('post_type');
64
65 if (in_array($post_type, ['any', ''], true)) {
66 return null;
67 }
68
69 return [$post_type];
70 }
71
72 }
73