コード例 #1
0
ファイル: module.php プロジェクト: alfredpp/sarath-portfolio
 function thb_add_portfolio_metabox()
 {
     $ajax = thb_config('core/portfolio', 'ajax');
     $thb_metabox = new THB_Metabox(__('Portfolio items', 'thb_text_domain'), 'portfolio_loop');
     $thb_metabox->setPriority('high');
     $thb_container = $thb_metabox->createContainer('', 'portfolio_loop_container');
     $thb_field = new THB_QueryFilterField('works_query');
     $thb_field->setTaxonomies(thb_get_post_type_taxonomies('works'));
     if (thb_is_admin_template(thb_config('core/portfolio', 'pagination_disabled'))) {
         $thb_field->setHideNum();
     }
     $thb_container->addField($thb_field);
     if (!empty($ajax)) {
         if (thb_is_admin_template($ajax)) {
             $thb_field = new THB_YesNoField('works_ajax_pagination');
             $thb_field->setLabel(__('Use AJAX pagination', 'thb_text_domain'));
             $thb_field->setHelp(__('If the page template supports this feature (e.g. its items are filterable), enabling AJAX pagination won\'t refresh your page while filtering through Portfolio items.', 'thb_text_domain'));
             $thb_container->addField($thb_field);
         }
     }
     thb_theme()->getPostType('page')->addMetabox($thb_metabox);
     if (thb_check_template_config('core/portfolio', 'grid_templates')) {
         $thb_metabox = thb_theme()->getPostType('page')->getMetabox('layout');
         $thb_container = $thb_metabox->getContainer('layout_container');
         $thb_field = new THB_SelectField('portfolio_columns');
         $thb_field->setLabel(thb_config('core/portfolio', 'grid_templates_columns_label'));
         $thb_field->setOptions(thb_config('core/portfolio', 'grid_templates_columns'));
         $thb_container->addField($thb_field);
         $grid_image_sizes = thb_config('core/portfolio', 'grid_image_sizes');
         if (!empty($grid_image_sizes)) {
             $grid_size_options = array();
             if (is_array(current($grid_image_sizes))) {
                 $grid_size_options[] = __('Fixed', 'thb_text_domain');
                 $grid_size_options[] = __('Variable', 'thb_text_domain');
             } else {
                 $grid_size_options[$grid_image_sizes[0]] = __('Fixed', 'thb_text_domain');
                 $grid_size_options[$grid_image_sizes[1]] = __('Variable', 'thb_text_domain');
             }
             $thb_field = new THB_SelectField('portfolio_grid_image_sizes');
             $thb_field->setLabel(__('Thumbnails height', 'thb_text_domain'));
             $thb_field->setOptions($grid_size_options);
             $thb_container->addField($thb_field);
         }
     }
 }
コード例 #2
0
 function thb_works_slideshow_metabox()
 {
     $thb_theme = thb_theme();
     $thb_works = $thb_theme->getPostType('works');
     $thb_metabox = new THB_Metabox(__('Work images and videos', 'thb_text_domain'), 'portfolio_slides_config');
     $thb_metabox->setPriority('high');
     if (thb_config('core/portfolio', 'work_slides_config')) {
         $thb_metabox->addContainer(call_user_func(thb_config('core/portfolio', 'work_slides_config')));
     }
     $thb_metabox->addContainer(thb_create_slideshows_slides_container('', array('slides_key' => thb_config('core/portfolio', 'work_slides_key'))));
     $thb_works->addMetabox($thb_metabox);
 }
コード例 #3
0
 /**
  * Create a slides metabox in Slideshow post type pages.
  *
  * @return THB_Metabox
  */
 function thb_create_slideshows_posttype_slides_metabox()
 {
     $thb_metabox = new THB_Metabox(__('Slideshow contents', 'thb_text_domain'), 'slideshow_contents');
     $thb_metabox->setPriority('high');
     $thb_container = new THB_MetaboxFieldsContainer('', 'slideshow_contents_container');
     $thb_field = new THB_SelectField('slideshow_contents');
     $thb_field->setLabel(__('Select slides from', 'thb_text_domain'));
     $thb_field->setDynamicOptions('thb_slideshow_contents');
     $thb_container->addField($thb_field);
     $thb_metabox->addContainer($thb_container);
     $thb_container = thb_create_slideshows_slides_container();
     $thb_metabox->addContainer($thb_container);
     $contents = thb_slideshow_contents();
     $contents_taxonomies = array();
     foreach ($contents as $post_type => $label) {
         if (!is_numeric($post_type)) {
             foreach (thb_get_post_type_taxonomies($post_type) as $tax) {
                 $contents_taxonomies[] = $tax;
             }
         }
     }
     $thb_container = new THB_MetaboxFieldsContainer('', 'slideshow_contents_details_container');
     $thb_field = new THB_QueryFilterField('slideshows_query');
     $thb_field->setTaxonomies($contents_taxonomies);
     $thb_container->addField($thb_field);
     $thb_metabox->addContainer($thb_container);
     return $thb_metabox;
 }
コード例 #4
0
ファイル: module.php プロジェクト: alfredpp/sarath-portfolio
 function thb_single_layout_options()
 {
     $post_types = thb_theme()->getPostTypes();
     foreach ($post_types as $pt) {
         if ($pt->isPublicContent() || $pt->getType() == 'post' || $pt->getType() == 'page') {
             $thb_metabox = new THB_Metabox(__('Layout', 'thb_text_domain'), 'layout');
             $thb_metabox->setPriority('high');
             $thb_metabox->addContainer(thb_layout_global_options_container());
             $pt->addMetabox($thb_metabox);
         }
     }
 }
コード例 #5
0
ファイル: module.php プロジェクト: alfredpp/sarath-portfolio
 function thb_add_blog_filter_metabox()
 {
     $thb_metabox = new THB_Metabox(__('Blog items', 'thb_text_domain'), 'loop');
     $thb_metabox->setPriority('high');
     $thb_container = $thb_metabox->createContainer('', 'loop_container');
     $thb_field = new THB_QueryFilterField('post_query');
     $thb_field->setTaxonomies(thb_get_post_type_taxonomies('post'));
     $thb_container->addField($thb_field);
     thb_theme()->getPostType('post')->addMetaboxToPages($thb_metabox);
 }