Post.php
1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
namespace ACA\JetEngine\Column\Meta;
use AC\Settings;
use ACA\JetEngine\Column;
use ACA\JetEngine\Editing\EditableTrait;
use ACA\JetEngine\Field;
use ACA\JetEngine\Search\SearchableTrait;
use ACA\JetEngine\Sorting;
use ACA\JetEngine\Value\DefaultValueFormatterTrait;
use ACP;
/**
* @property Field\Type\Posts $field
*/
class Post extends Column\Meta
implements ACP\Search\Searchable, ACP\Editing\Editable, ACP\Sorting\Sortable, ACP\ConditionalFormat\Formattable
{
use SearchableTrait;
use EditableTrait;
use DefaultValueFormatterTrait;
use ACP\ConditionalFormat\FilteredHtmlFormatTrait;
protected function register_settings()
{
$this->add_setting(new Settings\Column\Post($this));
}
/**
* @return Settings\Column\Post
*/
private function get_post_setting()
{
$setting = $this->get_setting(Settings\Column\Post::NAME);
return $setting instanceof Settings\Column\Post
? $setting
: null;
}
public function sorting()
{
return (new Sorting\ModelFactory\Post())->create(
$this->get_meta_type(),
$this->get_meta_key(),
$this->field->is_multiple(),
$this->get_post_setting(),
[
'taxonomy' => $this->get_taxonomy(),
'post_type' => $this->get_post_type(),
]
);
}
}