<?php
|
// /content/tattoo.php
|
|
use JVBase\registrar\Registrar;
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
|
add_action('jvbDefineRegistrar', 'aei_tattoo');
|
add_action('jvbDefineRegistrarFields', 'aei_tattoo_fields');
|
|
add_action('plugins_loaded', 'aei_tattoo',3);
|
//Add fields later so we can verify taxonomies/post types exist
|
add_action('plugins_loaded', 'aei_tattoo_fields', 4);
|
|
add_filter('aei_TattooSchemaDefault', 'aei_tattoo_schema');
|
add_filter('aei_TattooMetaDefault', 'aei_tattoo_meta');
|
add_filter('aei_TattooArchiveDefault', 'aei_tattoo_archive');
|
|
function aei_tattoo(){
|
if (!class_exists('JVBase\registrar\Registrar')) {
|
return;
|
}
|
$tattoo = Registrar::forPost('tattoo', 'Tattoo', 'Tattoos')
|
->setIcon('tattoo')
|
->make([
|
'rewrite' => [
|
'slug' => 'tattoos',
|
'with_front' => false,
|
],
|
'taxonomies' => [
|
'city',
|
'colour',
|
'placement',
|
'style',
|
'theme'
|
],
|
])
|
->setAll([
|
'show_directory',
|
'hide_single',
|
'redirect_to_author',
|
'favouritable',
|
'karma',
|
'show_feed'
|
])
|
->setIntegration('facebook')
|
->setIntegration('instagram');
|
|
//$directory = $tattoo->getConfig('directory');
|
|
}
|
|
function aei_tattoo_fields():void
|
{
|
if (!class_exists('JVBase\registrar\Registrar')) {
|
return;
|
}
|
$tattoo = Registrar::getInstance('tattoo');
|
// $breadcrumbs = $tattoo->config('breadcrumbs');
|
// $breadcrumbs->setCrumb('section');
|
|
|
$fields = $tattoo->fields();
|
$fields->modifyField('post_thumbnail', 'label', 'Main Image');
|
$fields->modifyField('post_content', 'label', 'Notes (optional)');
|
$fields->addField('gallery', [
|
'type' => 'upload',
|
'label' => 'Additional Images',
|
]);
|
$fields->addField('colour', [
|
'type' => 'selector',
|
'subtype' => 'taxonomy',
|
'taxonomy' => 'colour',
|
'label' => 'Colour(s)',
|
]);
|
$fields->addField('placement', [
|
'type' => 'selector',
|
'subtype' => 'taxonomy',
|
'taxonomy' => 'placement',
|
'label' => 'Placement',
|
]);
|
$fields->addField('style', [
|
'type' => 'selector',
|
'subtype' => 'taxonomy',
|
'taxonomy' => 'style',
|
'label' => 'Tattoo Style',
|
]);
|
$fields->addField('theme', [
|
'type' => 'selector',
|
'subtype' => 'taxonomy',
|
'taxonomy' => 'theme',
|
'label' => 'Tattoo Theme(s)',
|
'hint' => 'The subject matter, concept, or idea(s) behind the tattoo.',
|
]);
|
|
}
|
|
function aei_tattoo_schema():array
|
{
|
return [
|
'type' => 'JVBase\managers\SEO\render\Thing\CreativeWork\VisualArtwork',
|
'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Tattoo Artist',
|
];
|
}
|
|
function aei_tattoo_meta():array
|
{
|
return[
|
'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Tattoo Artist',
|
'description' => '{{style}} {{colour}} {{theme}} tattoo in {{post_author.city}}.',
|
];
|
}
|
|
function aei_tattoo_archive(array $defaults):array
|
{
|
return array_merge($defaults, [
|
'name' => 'Edmonton\'s Best Tattoos',
|
'description' => 'Tattoos in Edmonton, Alberta.'
|
]);
|
}
|
|
function aei_tattoo_reference_schema(array $defaults):array
|
{
|
return $defaults;
|
}
|