__('Portfolio', 'gdl_back_office'), 'singular_name' => __('Portfolio Item', 'gdl_back_office'), 'add_new' => __('Add New', 'gdl_back_office'), 'add_new_item' => __('Add New Portfolio', 'gdl_back_office'), 'edit_item' => __('Edit Portfolio', 'gdl_back_office'), 'new_item' => __('New Portfolio', 'gdl_back_office'), 'view_item' => __('View Portfolio', 'gdl_back_office'), 'search_items' => __('Search Portfolio', 'gdl_back_office'), 'not_found' => __('Nothing found', 'gdl_back_office'), 'not_found_in_trash' => __('Nothing found in Trash', 'gdl_back_office'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, //'menu_icon' => GOODLAYERS_PATH . '/include/images/portfolio-icon.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','author','thumbnail','excerpt','comments','custom-fields'), 'rewrite' => array('slug' => $portfolio_translation, 'with_front' => false) ); register_post_type( 'portfolio' , $args); register_taxonomy( "portfolio-category", array("portfolio"), array( "hierarchical" => true, "label" => "Portfolio Categories", "singular_label" => "Portfolio Categories", "rewrite" => true)); register_taxonomy_for_object_type('portfolio-category', 'portfolio'); register_taxonomy( "portfolio-tag", array("portfolio"), array( "hierarchical" => false, "label" => "Portfolio Tag", "singular_label" => "Portfolio Tag", "rewrite" => true)); register_taxonomy_for_object_type('portfolio-tag', 'portfolio'); } // add filter for adjacent custom post type add_filter('get_previous_post_where', 'gdl_echo', 10, 2); add_filter('get_next_post_where', 'gdl_echo', 10, 2); function gdl_echo( $where, $in_same_cat ){ global $post; if ( $post->post_type != 'portfolio' ) return $where; $current_taxonomy = 'portfolio-category'; $cat_array = wp_get_object_terms($post->ID, $current_taxonomy, array('fields' => 'ids')); if($cat_array){ $where .= " AND tt.taxonomy = '$current_taxonomy' AND tt.term_id IN (" . implode(',', $cat_array) . ")"; } return $where; } add_filter('get_previous_post_join', 'get_portfolio_adjacent', 10, 2); add_filter('get_next_post_join', 'get_portfolio_adjacent', 10, 2); function get_portfolio_adjacent($join, $in_same_cat){ global $post, $wpdb; if ( $post->post_type != 'portfolio' ) return $join; $current_taxonomy = 'portfolio-category'; if(wp_get_object_terms($post->ID, $current_taxonomy)){ $join .= " INNER JOIN $wpdb->term_relationships AS tr ON p.ID = tr.object_id INNER JOIN $wpdb->term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id"; } return $join; } // filter for portfolio first page add_filter("manage_edit-portfolio_columns", "show_portfolio_column"); function show_portfolio_column($columns){ $columns = array( "cb" => "", "title" => "Title", "author" => "Author", "portfolio-tags" => "Portfolio Tags", "portfolio-category" => "Portfolio Categories", "date" => "date"); return $columns; } add_action("manage_posts_custom_column","portfolio_custom_columns"); function portfolio_custom_columns($column){ global $post; switch ($column) { case "portfolio-tags": echo get_the_term_list($post->ID, 'portfolio-tag', '', ', ',''); break; case "portfolio-category": echo get_the_term_list($post->ID, 'portfolio-category', '', ', ',''); break; } } // add portfolio tag to tag cloud //function custom_tag_cloud_widget($args) { // $args['taxonomy'] = array('post_tag', 'portfolio-tag'); // return $args; //} //add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' ); // starting to edit portfolio $portfolio_meta_boxes = array( // general options "Sidebar Template" => array( 'title'=> __('SIDEBAR TEMPLATE', 'gdl_back_office'), 'name'=>'post-option-sidebar-template', 'type'=>'radioimage', 'default'=>'no-sidebar', 'hr'=>'none', 'options'=>array( '1'=>array('value'=>'right-sidebar','default'=>'selected','image'=>'/include/images/right-sidebar.png'), '2'=>array('value'=>'left-sidebar','image'=>'/include/images/left-sidebar.png'), '3'=>array('value'=>'both-sidebar','image'=>'/include/images/both-sidebar.png'), '4'=>array('value'=>'both-sidebar-reverse','image'=>'/include/images/both-sidebar-2.png'), '5'=>array('value'=>'no-sidebar','image'=>'/include/images/no-sidebar.png'))), "Choose Left Sidebar" => array( 'title'=> __('CHOOSE LEFT SIDEBAR', 'gdl_back_office'), 'name'=>'post-option-choose-left-sidebar', 'type'=>'combobox', 'hr'=>'none' ), "Choose Right Sidebar" => array( 'title'=> __('CHOOSE RIGHT SIDEBAR', 'gdl_back_office'), 'name'=>'post-option-choose-right-sidebar', 'type'=>'combobox', ), "Clients Name" => array( 'title'=> __('CLIENTS NAME', 'gdl_back_office'), 'name'=>'post-option-clients-name', 'type'=>'inputtext', 'description'=>'Please leave this field blank if you want to hide it.'), "Skill Value" => array( 'title'=> __('SKILL VALUE', 'gdl_back_office'), 'name'=>'post-option-skill-value', 'type'=>'inputtext', 'description'=>'Please leave this field blank if you want to hide it.'), "Website Url" => array( 'title'=> __('WEBSITE URL', 'gdl_back_office'), 'name'=>'post-option-website-url', 'type'=>'inputtext', 'description'=>'Please leave this field blank if you want to hide it.'), "Portfolio Header" => array( 'title'=> __('PORT HEADER TITLE', 'gdl_back_office'), 'name'=>'post-option-blog-header-title', 'type'=>'inputtext' ), "Portfolio Caption" => array( 'title'=> __('PORT HEADER CAPTION', 'gdl_back_office'), 'name'=>'post-option-blog-header-caption', 'type'=>'textarea' ), "Author Infomation" => array( 'title'=> __('SHOW AUTHOR INFORMATION', 'gdl_back_office'), 'name'=>'post-option-author-info-enabled', 'type'=>'combobox', 'options'=>array('0'=>'Yes','1'=>'No'), 'description'=>'Show the author information in the blog page'), "Social Sharing" => array( 'title'=> __('SOCIAL NETWORK SHARING', 'gdl_back_office'), 'name'=>'post-option-social-enabled', 'type'=>'combobox', 'default'=>'No', 'options'=>array('0'=>'Yes','1'=>'No'), 'description'=>'Show the social network sharing in the blog page.'), // thumbnail "Thumbnail Types" => array( 'title'=> __('THUMBNAIL TYPES', 'gdl_back_office'), 'name'=>'post-option-thumbnail-types', 'options'=>array( '0'=>'Image', '1'=>'Video', '2'=>'Slider', '3'=>'HTML5 Video'), 'type'=>'combobox', 'hr'=>'none', 'description'=>'This is the thumbnail of the portfolio when using the portfolio item in page options.'), // image thumbnail "Open Thumbnail Image" => array('type'=>'open','id'=>'thumbnail-feature-image'), "Thumbnail Image Type" => array( 'title'=> __('USE FEATURED IMAGE AS', 'gdl_back_office'), 'name'=>'post-option-featured-image-type', 'type'=>'combobox', 'hr'=>'none', 'options'=>array( '0'=>'Link to Current Post', '1'=>'Link to URL', '2'=>'Lightbox to Current Thumbnail', '3'=>'Lightbox to Picture', '4'=>'Lightbox to Video',) ), "Thumbnail Image URL" => array( 'title'=> __('SPECIFIC URL', 'gdl_back_office'), 'name'=>'post-option-featured-image-url', 'type'=>'inputtext', ), "Close Thumbnail Image" => array('type'=>'close'), // video thumbnail "Open Thumbnail Video" => array('type'=>'open','id'=>'thumbnail-video'), "Thumbnail Video Url" => array( 'title'=> __('VIDEO URL', 'gdl_back_office'), 'name'=>'post-option-thumbnail-video', 'type'=>'inputtext', 'description'=>'Place the url of video you want here. This theme only supports video from Youtube and Vimeo.'), "Close Thumbnail Video" => array('type'=>'close'), // slider thumbnail "Open Thumbnail Slider" => array('type'=>'open','id'=>'thumbnail-slider'), "Thumbnail Slider" => array( 'type'=> 'imagepicker', 'title'=> __('SELECT IMAGES', 'gdl_back_office'), 'xml'=>'post-option-thumbnail-xml', 'name'=>array( 'image'=>'post-option-thumbnail-slider-image', 'title'=>'post-option-thumbnail-slider-title', 'caption'=>'post-option-thumbnail-slider-caption', 'link'=>'post-option-thumbnail-slider-link', 'linktype'=>'post-option-thumbnail-slider-linktype'), 'hr'=>'none' ), "Close Thumbnail Slider" => array('type'=>'close'), // post thumbnail html5 video "Open Thumbnail HTML5 Video" => array('type'=>'open','id'=>'thumbnail-html5-video'), "Thumbnail HTML5 Video" => array( 'title'=> __('HTML5 VIDEO', 'gdl_back_office'), 'name'=>'post-option-thumbnail-html5-video', 'description'=>'You have to install the JWPlayer plugin for wordpress before this option can be used.' . ' Please try seeing more information in the documentation we provided.', 'type'=>'media-upload'), "Close Thumbnail HTML5 Video" => array('type'=>'close'), // inside post thumbnails "Inside Thumbnail Types" => array( 'title'=> __('INSIDE POST THUMBNAIL TYPES', 'gdl_back_office'), 'name'=>'post-option-inside-thumbnail-types', 'options'=>array( '0'=>'Image', '1'=>'Video', '2'=>'Slider', '3'=>'Stack Images', '4'=>'HTML5 Video'), 'type'=>'combobox', 'hr'=>'none', 'description'=>'This is the thumbnail inside portfolio post.'), // inside post thumbnail image "Open Inside Thumbnail Image" => array('type'=>'open','id'=>'inside-thumbnail-image'), "Inside Thumbnail Image" => array( 'title'=> __('SELECT IMAGE', 'gdl_back_office'), 'name'=>'post-option-inside-thumbnial-image', 'type'=>'upload', 'hr'=>'none'), "Close Inside Thumbnail Image" => array('type'=>'close'), // inside post thumbnail video "Open Inside Thumbnail Video" => array('type'=>'open','id'=>'inside-thumbnail-video'), "Inside Thumbnail Video Url" => array( 'title'=> __('VIDEO URL', 'gdl_back_office'), 'name'=>'post-option-inside-thumbnail-video', 'type'=>'inputtext', 'hr'=>'none', 'description'=>'Place the url of video you want here. This theme only supports video from Youtube and Vimeo.'), "Close Inside Thumbnail Video" => array('type'=>'close'), // inside post thumbnail slider "Open Inside Thumbnail Slider" => array('type'=>'open','id'=>'inside-thumbnail-slider'), "Inside Thumbnail Slider" => array( 'type'=>'imagepicker', 'title'=> __('SELECT IMAGES', 'gdl_back_office'), 'xml'=>'post-option-inside-thumbnail-xml', 'name'=>array( 'image'=>'post-option-inside-thumbnail-slider-image', 'title'=>'post-option-inside-thumbnail-slider-title', 'caption'=>'post-option-inside-thumbnail-slider-caption', 'link'=>'post-option-inside-thumbnail-slider-link', 'linktype'=>'post-option-inside-thumbnail-slider-linktype'), 'hr'=>'none' ), "Close Inside Thumbnail Slider" => array('type'=>'close'), // inside post thumbnail html5 video "Open Inside Thumbnail HTML5 Video" => array('type'=>'open','id'=>'inside-thumbnail-html5-video'), "Inside Thumbnail HTML5 Video Url" => array( 'title'=> __('HTML5 VIDEO', 'gdl_back_office'), 'name'=>'post-option-inside-thumbnail-html5-video', 'type'=>'media-upload', 'description'=>'You have to install the JWPlayer plugin for wordpress before this option can be used.' . ' Please try seeing more information in the documentation we provided.', 'hr'=>'none'), "Close Inside Thumbnail HTML5 Video" => array('type'=>'close'), ); add_action('add_meta_boxes', 'add_portfolio_option'); function add_portfolio_option(){ add_meta_box('portfolio-option', __('Portfolio Option','gdl_back_office'), 'add_portfolio_option_element', 'portfolio', 'normal', 'high'); } function add_portfolio_option_element(){ global $post, $portfolio_meta_boxes; // init array $portfolio_meta_boxes['Choose Left Sidebar']['options'] = get_sidebar_name(); $portfolio_meta_boxes['Choose Right Sidebar']['options'] = $portfolio_meta_boxes['Choose Left Sidebar']['options']; if( get_option(THEME_SHORT_NAME.'_use_portfolio_as') == 'portfolio style' ){ unset( $portfolio_meta_boxes['Author Infomation'] ); unset( $portfolio_meta_boxes['Portfolio Header'] ); unset( $portfolio_meta_boxes['Social Sharing'] ); }else{ unset( $portfolio_meta_boxes['Clients Name'] ); unset( $portfolio_meta_boxes['Skill Value'] ); unset( $portfolio_meta_boxes['Website Url'] ); } echo '