true,
'update_count_callback' => '_update_post_term_count',
'label' => __( 'Categories', 'a3-portfolio' ),
'labels' => array(
'name' => __( 'Portfolio Categories', 'a3-portfolio' ),
'singular_name' => __( 'Portfolio Categories', 'a3-portfolio' ),
'search_items' => __( 'Search Portfolio Categories', 'a3-portfolio' ),
'menu_name' => __( 'Categories', 'a3-portfolio' ),
'popular_items' => NULL,
'parent_item' => __( 'Parent Portfolio Categories', 'a3-portfolio' ),
'parent_item_colon' => __( 'Parent Portfolio Categories:', 'a3-portfolio' ),
'all_items' => __( 'All Portfolio Categories', 'a3-portfolio' ),
'edit_item' => __( 'Edit Portfolio Categories', 'a3-portfolio' ),
'update_item' => __( 'Update Portfolio Categories', 'a3-portfolio' ),
'add_new_item' => __( 'Add New Portfolio Category', 'a3-portfolio' ),
'new_item_name' => __( 'New Portfolio Categories Name', 'a3-portfolio' )
),
'show_ui' => true,
'query_var' => true,
'rewrite' => array(
'slug' => $permalinks['category_rewrite_slug'],
'with_front' => false,
'hierarchical' => false
),
) )
);
// Register custom taxonomy
register_taxonomy( 'portfolio_tag',
array( 'a3-portfolio' ),
apply_filters( 'a3_portfolio_register_tag_agrs', array(
'hierarchical' => false,
'update_count_callback' => '_update_post_term_count',
'label' => __( 'Tags', 'a3-portfolio' ),
'labels' => array(
'name' => __( 'Portfolio Tags', 'a3-portfolio' ),
'singular_name' => __( 'Portfolio Tag', 'a3-portfolio' ),
'menu_name' => _x( 'Tags', 'Admin menu name', 'a3-portfolio' ),
'search_items' => __( 'Search Portfolio Tags', 'a3-portfolio' ),
'all_items' => __( 'All Portfolio Tags', 'a3-portfolio' ),
'parent_item' => __( 'Parent Portfolio Tag', 'a3-portfolio' ),
'parent_item_colon' => __( 'Parent TPortfolio ag:', 'a3-portfolio' ),
'edit_item' => __( 'Edit Portfolio Tag', 'a3-portfolio' ),
'update_item' => __( 'Update Portfolio Tag', 'a3-portfolio' ),
'add_new_item' => __( 'Add New Portfolio Tag', 'a3-portfolio' ),
'new_item_name' => __( 'New Portfolio Tag Name', 'a3-portfolio' )
),
'show_ui' => true,
'query_var' => true,
'rewrite' => array(
'slug' => $permalinks['tag_rewrite_slug'],
'with_front' => false,
'hierarchical' => false
),
) )
);
if ( function_exists( 'a3_portfolio_register_attribute_taxonomies' ) ) {
a3_portfolio_register_attribute_taxonomies();
}
// Register custom post type
$labels_array = apply_filters( 'a3_portfolio_post_type_labels', array(
'name' => __( 'Portfolio Items', 'a3-portfolio' ),
'singular_name' => __( 'Portfolio Item', 'a3-portfolio' ),
'menu_name' => __( 'Portfolio', 'a3-portfolio' ),
'all_items' => __( 'Portfolio Items', 'a3-portfolio' ),
'add_new' => __( 'Add Item', 'a3-portfolio' ),
'add_new_item' => __( 'Add New Portfolio', 'a3-portfolio' ),
'edit' => __( 'Edit', 'a3-portfolio' ),
'edit_item' => __( 'Edit Item', 'a3-portfolio' ),
'new_item' => __( 'New Portfolio', 'a3-portfolio' ),
'view' => __( 'View', 'a3-portfolio' ),
'view_item' => __( 'View Item', 'a3-portfolio' ),
'search_items' => __( 'Search Portfolios', 'a3-portfolio' ),
'not_found' => __( 'No Portfolio Found', 'a3-portfolio' ),
'not_found_in_trash' => __( 'No Portfolio found in Trash', 'a3-portfolio' ),
'parent' => __( 'Parent', 'a3-portfolio' )
) );
$supports_array = apply_filters( 'a3_portfolio_post_type_supports', array(
'title',
'editor',
/*'excerpt',*/
/*'trackbacks',*/
/*'custom-fields',*/
/*'comments',*/
/*'revisions',*/
'thumbnail',
/*'author',*/
'page-attributes'
) );
register_post_type( 'a3-portfolio',
apply_filters( 'a3_portfolio_post_type_register', array(
'description' => __( 'Portfolios Custom Post Type', 'a3-portfolio' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => $permalinks['portfolio_rewrite_slug'] ? array( 'slug' => $permalinks['portfolio_rewrite_slug'], 'with_front' => false, 'feeds' => true ) : false,
'query_var' => true,
'has_archive' => false,
'_builtin' => false,
'supports' => $supports_array,
'labels' => $labels_array,
'supports' => array('title', 'editor', 'thumbnail', 'author', 'comments', 'date')
) ) );
if ( 'yes' === get_option( 'a3_portfolio_just_installed', 'no' ) ) {
flush_rewrite_rules();
}
}
public function register_image_sizes() {
global $a3_portfolio_global_settings;
$item_card_image_width = 400;
$item_card_image_height = 400;
$item_card_image_crop = false;
if ( (int) trim( $a3_portfolio_global_settings['item_card_image_width'] ) > 0 ) {
$item_card_image_width = (int) $a3_portfolio_global_settings['item_card_image_width'];
}
if ( (int) trim( $a3_portfolio_global_settings['item_card_image_height'] ) > 0 ) {
$item_card_image_height = (int) $a3_portfolio_global_settings['item_card_image_height'];
}
if ( 'yes' == trim( $a3_portfolio_global_settings['item_card_image_crop'] ) ) {
$item_card_image_crop = true;
}
$gallery_image_width = 800;
$gallery_image_height = 600;
$gallery_image_crop = false;
if ( (int) trim( $a3_portfolio_global_settings['gallery_image_width'] ) > 0 ) {
$gallery_image_width = (int) $a3_portfolio_global_settings['gallery_image_width'];
}
if ( (int) trim( $a3_portfolio_global_settings['gallery_image_height'] ) > 0 ) {
$gallery_image_height = (int) $a3_portfolio_global_settings['gallery_image_height'];
}
if ( 'yes' == trim( $a3_portfolio_global_settings['gallery_image_crop'] ) ) {
$gallery_image_crop = true;
}
$gallery_thumbnail_width = 75;
$gallery_thumbnail_height = 75;
$gallery_thumbnail_crop = false;
if ( (int) trim( $a3_portfolio_global_settings['gallery_thumbnail_width'] ) > 0 ) {
$gallery_thumbnail_width = (int) $a3_portfolio_global_settings['gallery_thumbnail_width'];
}
if ( (int) trim( $a3_portfolio_global_settings['gallery_thumbnail_height'] ) > 0 ) {
$gallery_thumbnail_height = (int) $a3_portfolio_global_settings['gallery_thumbnail_height'];
}
if ( 'yes' == trim( $a3_portfolio_global_settings['gallery_thumbnail_crop'] ) ) {
$gallery_thumbnail_crop = true;
}
add_image_size( 'portfolio-item-card-image', $item_card_image_width, $item_card_image_height, $item_card_image_crop );
add_image_size( 'portfolio-gallery-image', $gallery_image_width, $gallery_image_height, $gallery_image_crop );
add_image_size( 'portfolio-gallery-thumbnail-image', $gallery_thumbnail_width, $gallery_thumbnail_height, $gallery_thumbnail_crop );
}
/* Custom column for Portfolio post type */
public function cats_restrict_manage_posts_print_terms( $taxonomy, $parent = 0, $level = 0 ){
$prefix = str_repeat( ' ' , $level );
$terms = get_terms( $taxonomy, array( 'parent' => $parent, 'hide_empty' => false ) );
if ( !( $terms instanceof WP_Error ) && !empty( $terms ) ) {
foreach ( $terms as $term ){
echo '';
$this->cats_restrict_manage_posts_print_terms( $taxonomy, $term->term_id, $level+1 );
}
}
}
public function cats_restrict_manage_posts() {
global $typenow;
if ( 'a3-portfolio' == $typenow ) {
$filters = array( 'portfolio_cat' );
foreach ( $filters as $tax_slug ) {
// output html for taxonomy dropdown filter
echo "";
}
}
}
public function a3_portfolio_filters_query( $query ) {
global $typenow, $wp_query;
if ( 'a3-portfolio' == $typenow ) {
// Categories
if ( isset( $_GET['portfolio_cat'] ) && $_GET['portfolio_cat'] == '0' ) {
$query->query_vars['tax_query'][] = array(
'taxonomy' => 'portfolio_cat',
'field' => 'id',
'terms' => get_terms( 'portfolio_cat', array( 'fields' => 'ids' ) ),
'operator' => 'NOT IN'
);
}
}
return $query;
}
public function edit_columns( $columns ) {
$columns = array();
$columns['cb'] = '';
$columns['image'] = __( 'Thumbnail', 'a3-portfolio' );
$columns['title'] = __( 'Name', 'a3-portfolio' );
$columns['cats'] = __( 'Categories', 'a3-portfolio' );
$columns['date'] = __( 'Date', 'a3-portfolio' );
return $columns;
}
public function custom_columns( $column ) {
global $post;
global $wp_version;
switch ( $column ) {
case 'image':
echo '' . a3_portfolio_get_thumbnail_image( $post->ID, array( 40, 40 ) ) . '';
break;
case "cats" :
$terms = get_the_terms( $post->ID, 'portfolio_cat' );
if ( $terms && ! is_wp_error( $terms ) ) {
$portfolio_categoriess = array();
if ( version_compare( $wp_version, '4.5', '<' ) ) {
$term_edit_url = 'edit-tags.php?action=edit&taxonomy=portfolio_cat&post_type=a3-portfolio';
} else {
$term_edit_url = 'term.php?taxonomy=portfolio_cat&post_type=a3-portfolio';
}
foreach ( $terms as $term ) {
$term_edit_url .= '&tag_ID='.$term->term_id;
$portfolio_categoriess[] = " " . esc_html( $term->name ) . "";
}
echo join( ', ', $portfolio_categoriess );
} else {
echo '–';
}
break;
}
}
}
global $a3_portfolio_post_types;
$a3_portfolio_post_types = new A3_Portfolio_Post_Types();
?>