'Art',
'plural' => 'Art',
'dash_title' => 'Art',
'dash_description' => 'Manage your art posts',
'directory' => 'Art',
'breadcrumb' => 'Art',
'addCrumb' => 'form',
'hide_single' => false,
'show_feed' => true,
'show_directory'=> true,
'favouritable' => true,
'karma' => false,
'icon' => 'palette',
'seo' => [
'schema' => [
'type' => 'VisualArtwork',
'name' => '{{post_title}}',
'description' => '{{post_excerpt}}',
'about' => ['@id' => '{{site_url}}/#art'],
'associatedMedia' => '{{post_thumbnail}}',
'dateCreated' => '{{post_date}}',
// artform, artMedium, creator, keywords auto-enriched by VisualArtworkResolver
],
'meta' => [
'title' => '{{post_title}} — {{form.name}} Art | Handmade. Human.',
'description' => '{{post_excerpt}}',
],
'archive' => [
'type' => 'CollectionPage',
'name' => 'Canadian Art. Made in Edmonton, Alberta.',
'description' => 'Handmade sculpture, jewelry, and more from Edmonton, Alberta.',
],
],
'feed' => [
'single' => [
'pre_title' => 'Canadian Art. Made in Edmonton, Alberta.',
],
'archive' => [
],
'config' => [
'is_gallery' => false,
'content' => 'art',
'context' => 'art',
'id' => [],
'class' => [],
]
],
'rewrite' => [
'slug' => 'art',
'with_front' => false,
],
'fields' => [
'post_status' => [
'type' => 'radio',
'label' => 'Status',
'options' => [
'publish' => 'Show',
'draft' => 'Hide',
'trash' => 'Scrap',
'delete' => 'Permanently Delete'
],
'hidden' => true,
],
'post_title' => [
'type' => 'text',
'label' => 'Title',
],
'post_date' => [
'type' => 'date',
'label' => 'Date',
],
'city' => [
'type' => 'taxonomy',
'taxonomy' => 'city',
'autocomplete' => true,
'label' => 'City',
],
'form' => [
'type' => 'taxonomy',
'taxonomy' => 'form',
'autocomplete' => true,
'label' => 'Art Form',
],
'media' => [
'type' => 'taxonomy',
'taxonomy' => 'media',
'autocomplete' => true,
'label' => 'Media',
],
'style' => [
'type' => 'taxonomy',
'taxonomy' => 'style',
'autocomplete' => true,
'label' => 'Style',
],
'theme' => [
'type' => 'taxonomy',
'taxonomy' => 'theme',
'autocomplete' => true,
'label' => 'Theme',
],
'project' => [
'type' => 'taxonomy',
'taxonomy' => 'project',
'autocomplete' => true,
'label' => 'Project',
],
'post_thumbnail' => [
'type' => 'upload',
'label' => 'Image',
],
'gallery' => [
'type' => 'upload',
'multiple'=> 'true',
'label' => 'Gallery',
],
'price' => [
'type' => 'number',
'label' => 'Price',
],
'post_excerpt' => [
'type' => 'textarea',
'label' => 'Short Blurb',
],
'post_content' => [
'type' => 'textarea',
'quill' => true,
'label' => 'Notes'
],
'needs' => [
'type' => 'repeater',
'label' => 'Needs',
'fields'=> [
'need' => [
'type' => 'text',
'label' => 'Need',
'required' => true
],
'image' => [
'type' => 'upload',
'multiple' => true,
'label' => 'Example Image'
],
'fulfilled' => [
'type' => 'textarea',
'quill' => true,
'label' => 'How I fulfilled it'
]
]
],
'wants' => [
'type' => 'repeater',
'label' => 'Wants',
'fields'=> [
'need' => [
'type' => 'text',
'label' => 'Want',
'required' => true
],
'image' => [
'type' => 'upload',
'multiple' => true,
'label' => 'Example Image'
],
'fulfilled' => [
'type' => 'textarea',
'quill' => true,
'label' => 'How I fulfilled it'
]
]
],
],
'single_image' => false,
'upload_title' => 'Upload Artwork',
];
}
function ajv_render_art_content(array $block, string $content):string
{
$out = '';
$ID = get_the_ID();
$meta = Meta::forPost($ID);
$fields = $meta->getAll();
$bits = [];
if (array_key_exists('post_excerpt', $fields) && !empty($fields['post_excerpt'])) {
$bits[] = sprintf(
'',
apply_filters('the_content', $fields['post_excerpt'])
);
}
if (array_key_exists('gallery', $fields) && !empty($fields['gallery'])) {
$gallery = explode(',',$fields['gallery']);
$gallery = array_map(function ($imgID) {
$out = ''.jvbFormatImage($imgID,'tiny','medium');
$caption = wp_get_attachment_caption($imgID);
$out .= ($caption && $caption !== '') ? ''.apply_filters('the_content', $caption).'' : '';
$out .= '';
return $out;
}, $gallery);
$gallery = implode('',$gallery);
$bits[] = sprintf(
'',
$gallery
);
}
if (array_key_exists('post_content', $fields) && !empty($fields['post_content'])) {
$bits[] = sprintf(
'',
apply_filters('the_content', $fields['post_content'])
);
}
if (array_key_exists('needs', $fields) && !empty($fields['needs'])) {
$bits[] = ajvb_format_needs($fields['needs']);
}
if (array_key_exists('wants', $fields) && !empty($fields['wants'])) {
$bits[] = ajvb_format_wants($fields['wants']);
}
if (!empty($bits)) {
$out = implode('',$bits);
}
return $out;
}