<?php /*-----------------------------------------------------------------------*/ // Match Custom Post /*-----------------------------------------------------------------------*/ $match = PostType::make('slhb_match', 'Les matchs', 'match')->set(array('public' => true, 'menu_position' => 20, 'supports' => false, 'rewrite' => false, 'query_var' => false, 'labels' => ['add_new' => 'Ajouter un nouveau match', 'add_item' => 'Ajouter un match', 'all_items' => 'Tous les matchs', 'edit_item' => 'Modifier un match'])); /*-----------------------------------------------------------------------*/ // Match informations /*-----------------------------------------------------------------------*/ $infos = Metabox::make('Informations du match', $match->get('name'))->set(array(Field::date('match_date', ['title' => 'Date du match']), Field::select('match_team_dom', TeamModel::getTeamsArray()), Field::text('match_team_ext', ['title' => 'Equipe à l\'exterieur']), Field::number('score_dom', ['title' => 'Score de l\'équipe à domicile']), Field::number('score_ext', ['title' => 'Score de l\'équipe extérieur']))); /*-----------------------------------------------------------------------*/ // Match Defaults Values /*-----------------------------------------------------------------------*/ function slhb_set_title($post_id, $post, $update) { $dateStr = Meta::get($post_id, 'match_date'); $title = $dateStr . ' - ' . Meta::get($post_id, 'match_team_dom') . ' - ' . Meta::get($post_id, 'match_team_ext'); $date = date($dateStr); //This temporarily removes filter to prevent infinite loops remove_action('save_post_slhb_match', __FUNCTION__); wp_update_post(array('ID' => $post_id, 'post_title' => $title, 'match_date' => $date)); //redo filter add_action('save_post_slhb_match', __FUNCTION__, 10, 3); } add_action('save_post_slhb_match', 'slhb_set_title', 10, 3);
<?php $cat = Taxonomy::make('gallery-category', 'galleries', __('Gallery Categories', THEME_TEXT_DOMAIN), __('Gallery Category', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $tag = Taxonomy::make('gallery-tag', 'galleries', __('Gallery Tags', THEME_TEXT_DOMAIN), __('Gallery Tag', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $galleries = PostType::make('galleries', __('Galleries', THEME_TEXT_DOMAIN), __('Gallery', THEME_TEXT_DOMAIN))->set(['public' => true, 'labels' => ['add_item' => __('Add', THEMOSIS_TEXTDOMAIN)], 'supports' => array('title', 'excerpt', 'thumbnail', 'revisions'), 'taxonomies' => ['gallery-category', 'gallery-tag']]); $infos = Metabox::make('Informations', $galleries->getSlug())->set(array(Field::collection('images', ['type' => 'images']))); /*-----------------------------------------------------------------------*/ // Book info validation /*-----------------------------------------------------------------------*/ //$infos->validate(array( // 'title' => array('textfield', 'min:5') //));
<?php /*-----------------------------------------------------------------------*/ // FAQ custom post type. /*-----------------------------------------------------------------------*/ $faq = PostType::make('bks-faqs', 'FAQs', 'FAQ')->set(array('supports' => array('title', 'editor'), 'public' => false, 'show_ui' => true)); /*-----------------------------------------------------------------------*/ // Set default title placeholder text. /*-----------------------------------------------------------------------*/ $faq->setTitle('Enter your question here...');
<?php $cat = Taxonomy::make('product-category', 'products', __('Product Categories', THEME_TEXT_DOMAIN), __('Product Category', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $tag = Taxonomy::make('product-tag', 'products', __('Product Tags', THEME_TEXT_DOMAIN), __('Product Tag', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $products = PostType::make('products', __('Products', THEME_TEXT_DOMAIN), __('Product', THEME_TEXT_DOMAIN))->set(['public' => true, 'labels' => ['add_item' => __('Add', THEME_TEXT_DOMAIN)], 'supports' => array('title', 'excerpt', 'thumbnail', 'revisions'), 'taxonomies' => array('product-category', 'product-tag')]); $infos = Metabox::make('Informations', $products->getSlug())->set(array(Field::textarea('description'), Field::collection('images', ['type' => 'images']), Field::infinite('info', [Field::text('title'), Field::textarea('value')]))); /*-----------------------------------------------------------------------*/ // Book info validation /*-----------------------------------------------------------------------*/ $infos->validate(array());
<?php /*-----------------------------------------------------------------------*/ // Custom post type - bks-books /*-----------------------------------------------------------------------*/ $books = PostType::make('bks-books', 'Books', 'Book')->set(array('public' => true, 'rewrite' => array('slug' => 'books'), 'supports' => array('title', 'editor', 'excerpt', 'thumbnail'))); /*-----------------------------------------------------------------------*/ // Book informations /*-----------------------------------------------------------------------*/ $infos = Metabox::make('Informations', $books->getSlug())->set(array(Field::text('author'), Field::media('promo-image', array('title' => 'Image promotion', 'info' => 'Image used on home page in order to promote the book.')), Field::text('color', array('info' => 'Insert a hexadecimal color value: <b>#cdcdcd</b>')))); /*-----------------------------------------------------------------------*/ // Book info validation /*-----------------------------------------------------------------------*/ $infos->validate(array('author' => array('textfield', 'min:5'), 'color' => array('color')));
<?php $cat = Taxonomy::make('product-category', 'products', __('Product Categories', THEME_TEXT_DOMAIN), __('Product Category', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $tag = Taxonomy::make('product-tag', 'products', __('Product Tags', THEME_TEXT_DOMAIN), __('Product Tag', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'hierarchical' => true, 'show_tagcloud' => true, 'show_in_quick_edit' => true]); $products = PostType::make('products', __('Products', THEME_TEXT_DOMAIN), __('Product', THEME_TEXT_DOMAIN))->set(['public' => true, 'show_in_nav_menus' => true, 'show_ui' => TRUE, 'show_in_menu' => TRUE, 'publicly_queryable' => TRUE, 'query_var' => 'products', 'rewrite' => array('slug' => 'products'), 'labels' => ['add_item' => __('Add', THEME_TEXT_DOMAIN)], 'supports' => array('title', 'excerpt', 'thumbnail', 'revisions'), 'taxonomies' => array('product-category', 'product-tag')]); $infos = Metabox::make('Informations', $products->getSlug())->set(array(Field::textarea('description'), Field::collection('images', ['type' => 'images']), Field::infinite('info', [Field::text('title'), Field::textarea('value')]))); /*-----------------------------------------------------------------------*/ // Book info validation /*-----------------------------------------------------------------------*/ $infos->validate(array());
/** * Set up timeslot custom post type * * @private */ private static function _set_up_timeslot() { PostType::make('timeslot', 'Time Slots', 'Time Slot')->set(); $fields = array(Field::select('timeslot_venue', array(array('none' => __('- None -')) + VenueModel::venueSelection()), array('title' => __('Venue'))), Field::select('timeslot_user', array(array('none' => __('- None -')) + UserModel::userSelection()), array('title' => __('User'))), Field::date('date', array('title' => 'Date')), Field::select('time_from', array(Config::get('application.timeslots')), array('title' => __('Start at'))), Field::select('time_to', array(Config::get('application.timeslots')), array('title' => __('Finish at')))); Metabox::make('Options', 'timeslot')->set($fields); }
<?php $team = PostType::make('slhb_team', 'Les équipes', 'équipe')->set(array('public' => true, 'menu_position' => 20, 'supports' => array('title', 'editor'), 'rewrite' => false, 'query_var' => false, 'labels' => ['add_new_item' => 'Ajouter une nouvelle équipe', 'add_new' => 'Ajouter une équipe', 'add_item' => 'Ajouter une équipe', 'all_items' => 'Toutes les équipes', 'edit_item' => 'Modifier une équipe'])); /*-----------------------------------------------------------------------*/ // Team informations /*-----------------------------------------------------------------------*/ $infos = Metabox::make('Informations sur l\'équipe', $team->get('name'))->set(array(Field::media('profile', ['title' => 'Photo de groupe de l\'équipe ']), Field::select('Niveau', [['Excellence Région', 'Honneur Région', 'Pré-Région', 'Deuxième division']], ['title' => 'Quelle division? ']), Field::collection('gallery')));