Jake Vanderwerf
2026-02-14 85f32c02f80286094cc5230a30cd7ebbe77eae2d
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
// /taxonomies/progress.php
function ajv_project():array
{
    return [
        'singular'       => 'Project',
        'plural'         => 'Projects',
        'icon'           => 'cards-three',
        'show_feed'      => true,
        'show_directory' => true,
        'approve_new'    => false,
        'rewrite'        => [
            'slug'         => 'projects',
            'with_front'   => false,
            'hierarchical' => true,
        ],
        'hierarchical'   => true,
        'for_content'    => [
            'art',
            'design',
            'development',
            'strategy',
            'writing',
        ],
        'seo' => [
            'schema' => [
                'type' => 'CreativeWork',
                'name' => '{{term_name}}',
                'description' => '{{term_description}}',
                'dateCreated' => '{{started}}',
                'keywords' => '{{target.name}}',
            ],
            'meta' => [
                'title' => '{{term_name}} | Project by JakeVan',
                'description' => '{{term_description}}',
            ],
            'archive' => [
                'type' => 'CollectionPage',
                'name' => '{{term_name}}',
                'description' => '{{term_description}}',
            ],
        ],
        'fields'         => [
            'term_name' => [
                'label'     => 'Name',
                'type'      => 'text',
                'quickEdit' => true,
            ],
            'city' => [
                'type'          => 'taxonomy',
                'taxonomy_type' => 'reference',
                'taxonomy'      => 'city',
                'autocomplete'  => true,
                'quickEdit' => true,
                'label'         => 'City',
            ],
            'target' => [
                'type'          => 'taxonomy',
                'taxonomy_type' => 'reference',
                'taxonomy'      => 'target',
                'autocomplete'  => true,
                'quickEdit' => true,
                'label'         => 'Target Audience',
            ],
            'started'   => [
                'type'  => 'date',
                'label' => 'Started',
                'quickEdit' => true,
            ],
            'ended'     => [
                'type'  => 'date',
                'label' => 'Ended',
                'quickEdit' => true,
            ],
            'budget'    => [
                'type'  => 'radio',
                'label' => 'Budget',
                'options'   => [
                    'low'   => '$',
                    'medium-low'=> '$$',
                    'medium'    => '$$$',
                    'medium-high'=> '$$$$',
                    'high'  => '$$$$$',
                ]
            ],
            'timeline'  => [
                'type'  => 'text',
                'label' => 'Timeline',
                'quickEdit' => true,
            ],
            'url'   => [
                'type'  => 'url',
                'label' => 'Project URL',
                'quickEdit' => true,
            ],
            'description'   => [
                'type'  => 'textarea',
                'quill' => true,
                'quickEdit' => true,
                'label' => 'Project Description',
            ],
            'needs' => [
                'type'  => 'repeater',
                'label' => 'Needs',
                'fields'=> [
                    'need' => [
                        'type' => 'text',
                        'label' => 'Need',
                        'required' => true
                    ],
                    'fulfilled' => [
                        'type'  => 'textarea',
                        'quill' => true,
                        'label' => 'How I fulfilled it'
                    ]
                ]
            ],
            'wants' => [
                'type'  => 'repeater',
                'label' => 'Wants',
                'fields'=> [
                    'need' => [
                        'type' => 'text',
                        'label' => 'Want',
                        'required' => true
                    ],
                    'fulfilled' => [
                        'type'  => 'textarea',
                        'quill' => true,
                        'label' => 'How I fulfilled it'
                    ]
                ]
            ],
 
            'common'    => [ 'wiki' ]
        ]
    ];
}