-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPersonPostType.php
More file actions
93 lines (84 loc) · 2.34 KB
/
Copy pathPersonPostType.php
File metadata and controls
93 lines (84 loc) · 2.34 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
namespace ProjectName;
class PersonPostType
{
/**
* The name of the post type
*
* @var string
*/
private $_name = 'person';
/**
* The slug for archive and single
*
* @var string
*/
private $_slug = 'people';
/**
* The singular and plural terms for the admin area
*
* @var array
*/
private $_labels = [
'plural' => 'People',
'singular' => 'Person'
];
/**
* The post type supports
*
* @var array
*/
private $_supports = [
'title',
'editor',
'thumbnail'
];
/**
* @return void
*/
public function __construct()
{
$this->registerHooks();
}
/**
* @return void
*/
public function registerHooks()
{
add_action('init', [$this, 'registerPostType'], 998);
}
/**
* @return void
*/
public function registerPostType()
{
if (!post_type_exists($this->_name)) {
register_post_type($this->_name, [
'has_archive' => true,
'hierarchical' => false,
'labels' => [
'name' => $this->_labels['plural'],
'singular_name' => $this->_labels['singular'],
'menu_name' => $this->_labels['plural'],
'add_new' => 'Add New',
'add_new_item' => 'Add New ' . $this->_labels['singular'],
'edit' => 'Edit',
'edit_item' => 'Edit ' . $this->_labels['singular'],
'new_item' => 'New ' . $this->_labels['singular'],
'view' => 'View ' . $this->_labels['singular'],
'view_item' => 'View ' . $this->_labels['singular'],
'search_items' => 'Search ' . $this->_labels['plural'],
'not_found' => 'No ' . $this->_labels['plural'] . ' Found',
'not_found_in_trash' => 'No ' . $this->_labels['plural'] . ' Found in Trash',
'parent' => 'Parent ' . $this->_labels['singular'],
],
'public' => true,
'rewrite' => [
'slug' => $this->_slug,
'with_front' => false,
],
'supports' => $this->_supports
]);
}
}
}