<?php
|
// /taxonomies/event_type.php
|
|
use JVBase\registrar\Registrar;
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
|
add_action('jvbDefineRegistrar', 'aei_event_type');
|
add_action('jvbDefineRegistrarFields', 'aei_event_type_fields');
|
|
add_action('plugins_loaded', 'aei_event_type',3);
|
//Add fields later so we can verify taxonomies/post types exist
|
add_action('plugins_loaded', 'aei_event_type_fields', 4);
|
|
add_filter('aei_Event_typeSchemaDefault', 'aei_event_type_schema');
|
add_filter('aei_Event_typeMetaDefault', 'aei_event_type_meta');
|
add_filter('aei_Event_typeArchiveDefault', 'aei_event_type_archive');
|
|
function aei_event_type(){
|
if (!class_exists('JVBase\registrar\Registrar')) {
|
return;
|
}
|
$event_type = Registrar::forTerm('event_type', 'Event Type', 'Event Types')
|
->setIcon('folder')
|
->make([
|
'rewrite' => [
|
'slug' => 'in/type',
|
'with_front' => false,
|
'hierarchical' => true,
|
],
|
'for' => [
|
'event',
|
'event',
|
],
|
'hierarchical' => true,
|
])
|
->setAll([
|
'show_feed',
|
'show_directory',
|
'track_changes',
|
]);
|
|
//$directory = $event_type->getConfig('directory');
|
|
}
|
|
function aei_event_type_fields():void
|
{
|
if (!class_exists('JVBase\registrar\Registrar')) {
|
return;
|
}
|
$event_type = Registrar::getInstance('event_type');
|
|
$fields = $event_type->fields();
|
$fields->addCommon('wiki');
|
$fields->addCommon('alternate_name');
|
$fields->addCommon('keywords');
|
}
|
|
function aei_event_type_schema():array
|
{
|
return [
|
// 'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\CreativeWork',
|
'name' => '{{name}} | Canadian Event Type',
|
'about' => [
|
'type' => 'JVBase\managers\SEO\render\Thing\Place\AdministrativeArea\Event Type',
|
'name' => '{{name}}',
|
],
|
'description' => '{{description}}',
|
];
|
}
|
|
function aei_event_type_meta():array
|
{
|
return[
|
'name' => 'Best Tattoos in {{name}}',
|
'description' => 'Tattoos, piercings, tattoo events, and tattoo event_types in {{name}}.'
|
];
|
}
|
|
function aei_event_type_archive(array $defaults):array
|
{
|
return array_merge($defaults, [
|
'name' => '{{name}}\'s Best Tattoo Events',
|
]);
|
}
|
|
function aei_event_type_reference_schema(array $defaults):array
|
{
|
return $defaults;
|
}
|