_x( 'Archive', 'post', 'ADVERT_TEXTDOMAIN' ),
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Archive (%s)', 'Archives (%s)', 'ADVERT_TEXTDOMAIN' ),
) );
}
//register advert banner and banner categories
public function advert_banner_init() {
//check published: advertiser and location
$user_id = get_current_user_id();
$advertiser = intval(apply_filters('check_advertiser', $user_id));
if ( $advertiser < 1 && !current_user_can('publish_adverts') ){return;}
add_filter('post_updated_messages', 'banner_updated_messages');
add_filter('manage_advert-banner_posts_columns', 'custom_banner_columns');
add_filter('manage_edit-advert-banner_sortable_columns', 'banner_sortable_columns');
add_action('manage_advert-banner_posts_custom_column', 'custom_banner_column', 10, 2);
add_action('save_post', 'banner_save_meta');
add_action('admin_notices', 'banner_admin_notice');
global $wpdb;
if ( taxonomy_exists('advert_category')) {
return;
}
$labels = array(
'name' => _x( 'Categories', 'taxonomy general name', 'ADVERT_TEXTDOMAIN' ),
'singular_name' => _x( 'Categories', 'taxonomy singular name', 'ADVERT_TEXTDOMAIN' ),
'search_items' => __( 'Search Categories', 'ADVERT_TEXTDOMAIN' ),
'all_items' => __( 'All Categories', 'ADVERT_TEXTDOMAIN' ),
'parent_item' => __( 'Parent Category', 'ADVERT_TEXTDOMAIN' ),
'parent_item_colon' => __( 'Parent Category:', 'ADVERT_TEXTDOMAIN' ),
'edit_item' => __( 'Edit Category', 'ADVERT_TEXTDOMAIN' ),
'update_item' => __( 'Update Category', 'ADVERT_TEXTDOMAIN' ),
'add_new_item' => __( 'Add New Category', 'ADVERT_TEXTDOMAIN' ),
'new_item_name' => __( 'New Category', 'ADVERT_TEXTDOMAIN' ),
'menu_name' => __( 'Category', 'ADVERT_TEXTDOMAIN' ),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'public' => false,
'rewrite' => false,
'query_var' => false,
'show_admin_column' => true,
'query_var' => true,
'capabilities' => array (
'manage_terms' => 'publish_adverts',
'edit_terms' => 'publish_adverts',
'delete_terms' => 'publish_adverts',
'assign_terms' => 'edit_adverts'
),
'rewrite' => array( 'slug' => 'advert_category' ),
);
register_taxonomy( 'advert_category', array( 'advert-banner' ), $args );
if (post_type_exists('advert-banner')) {
return;
}
$labels = array(
'name' => _x( 'Banners', 'post type general name', 'ADVERT_TEXTDOMAIN' ),
'singular_name' => _x( 'Banner', 'post type singular name', 'ADVERT_TEXTDOMAIN' ),
'menu_name' => _x( 'Banners', 'admin menu', 'ADVERT_TEXTDOMAIN' ),
'name_admin_bar' => _x( 'Banner', 'add new on admin bar', 'ADVERT_TEXTDOMAIN' ),
'add_new' => _x( 'Add New', 'Banner', 'ADVERT_TEXTDOMAIN' ),
'add_new_item' => __( 'Add New Banner', 'ADVERT_TEXTDOMAIN' ),
'new_item' => __( 'New Banner', 'ADVERT_TEXTDOMAIN' ),
'edit_item' => __( 'Edit Banner', 'ADVERT_TEXTDOMAIN' ),
'view_item' => __( 'View Banner', 'ADVERT_TEXTDOMAIN' ),
'all_items' => __( 'All Banners', 'ADVERT_TEXTDOMAIN' ),
'search_items' => __( 'Search Banners', 'ADVERT_TEXTDOMAIN' ),
'parent_item_colon' => __( 'Parent Banners:', 'ADVERT_TEXTDOMAIN' ),
'not_found' => __( 'No Banners found.', 'ADVERT_TEXTDOMAIN' ),
'not_found_in_trash' => __( 'No Banners found in Trash.', 'ADVERT_TEXTDOMAIN' )
);
$args = array(
'labels' => $labels,
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => false,
'rewrite' => false,
'capability_type' => 'advert',
'map_meta_cap' => true,
'has_archive' => false,
'hierarchical' => false,
'menu_position' => null,
'exclude_from_search' => true,
'taxonomies' => array('advert_category'),
'register_meta_box_cb' => 'banner_start',
'supports' => array('title', 'thumbnail')
);
register_post_type( 'advert-banner', $args );
}
//register advert advertiser
public function advert_advertiser_init() {
if ( !current_user_can('publish_adverts') ){return;}
add_filter('post_updated_messages', 'advertiser_updated_messages');
add_action('save_post', 'advertiser_save_meta');
add_action('before_delete_post', 'advertiser_delete_post');
add_filter('manage_advert-advertiser_posts_columns', 'custom_advertiser_columns');
add_action('manage_advert-advertiser_posts_custom_column', 'custom_advertiser_column', 10, 2);
add_filter('manage_edit-advert-advertiser_sortable_columns', 'custom_advertiser_sortable_columns');
global $wpdb;
if (post_type_exists('advert-advertiser')) {
return;
}
$labels = array(
'name' => _x( 'Advertisers', 'post type general name', 'ADVERT_TEXTDOMAIN' ),
'singular_name' => _x( 'Advertiser', 'post type singular name', 'ADVERT_TEXTDOMAIN' ),
'menu_name' => _x( 'Advertisers', 'admin menu', 'ADVERT_TEXTDOMAIN' ),
'name_admin_bar' => _x( 'Advertiser', 'add new on admin bar', 'ADVERT_TEXTDOMAIN' ),
'add_new' => _x( 'Add New', 'Advertiser', 'ADVERT_TEXTDOMAIN' ),
'add_new_item' => __( 'Add New Advertiser', 'ADVERT_TEXTDOMAIN' ),
'new_item' => __( 'New Advertiser', 'ADVERT_TEXTDOMAIN' ),
'edit_item' => __( 'Edit Advertiser', 'ADVERT_TEXTDOMAIN' ),
'view_item' => __( 'View Advertiser', 'ADVERT_TEXTDOMAIN' ),
'all_items' => __( 'All Advertisers', 'ADVERT_TEXTDOMAIN' ),
'search_items' => __( 'Search Advertisers', 'ADVERT_TEXTDOMAIN' ),
'parent_item_colon' => __( 'Parent Advertisers:', 'ADVERT_TEXTDOMAIN' ),
'not_found' => __( 'No Advertisers found.', 'ADVERT_TEXTDOMAIN' ),
'not_found_in_trash' => __( 'No Advertisers found in Trash.', 'ADVERT_TEXTDOMAIN' )
);
$args = array(
'labels' => $labels,
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_menu' => false,
'query_var' => false,
'rewrite' => false,
'capability_type' => 'advert',
'map_meta_cap' => true,
'has_archive' => false,
'hierarchical' => false,
'menu_position' => null,
'exclude_from_search' => true,
'register_meta_box_cb' => 'advertiser_start',
'supports' => false
);
register_post_type( 'advert-advertiser', $args );
}
//register advert campaign
public function advert_campaign_init() {
//check published: advertiser and location
$user_id = get_current_user_id();
$advertiser = intval(apply_filters('check_advertiser', $user_id));
if ( $advertiser < 1 && !current_user_can('publish_adverts') ){return;}
add_filter('post_updated_messages', 'campaign_updated_messages');
add_action('save_post', 'campaign_save_meta');
add_filter('manage_advert-campaign_posts_columns', 'custom_campaign_columns');
add_action('manage_advert-campaign_posts_custom_column', 'custom_campaign_column', 10, 2);
add_filter('manage_edit-advert-campaign_sortable_columns', 'campaign_sortable_columns');
global $wpdb;
if (post_type_exists('advert-campaign')) {
return;
}
$labels = array(
'name' => _x( 'Campaigns', 'post type general name', 'ADVERT_TEXTDOMAIN' ),
'singular_name' => _x( 'Campaign', 'post type singular name', 'ADVERT_TEXTDOMAIN' ),
'menu_name' => _x( 'Campaigns', 'admin menu', 'ADVERT_TEXTDOMAIN' ),
'name_admin_bar' => _x( 'Campaign', 'add new on admin bar', 'ADVERT_TEXTDOMAIN' ),
'add_new' => _x( 'Add New', 'Campaign', 'ADVERT_TEXTDOMAIN' ),
'add_new_item' => __( 'Add New Campaign', 'ADVERT_TEXTDOMAIN' ),
'new_item' => __( 'New Campaign', 'ADVERT_TEXTDOMAIN' ),
'edit_item' => __( 'Edit Campaign', 'ADVERT_TEXTDOMAIN' ),
'view_item' => __( 'View Campaign', 'ADVERT_TEXTDOMAIN' ),
'all_items' => __( 'All Campaigns', 'ADVERT_TEXTDOMAIN' ),
'search_items' => __( 'Search Campaigns', 'ADVERT_TEXTDOMAIN' ),
'parent_item_colon' => __( 'Parent Campaigns:', 'ADVERT_TEXTDOMAIN' ),
'not_found' => __( 'No Campaigns found.', 'ADVERT_TEXTDOMAIN' ),
'not_found_in_trash' => __( 'No Campaigns found in Trash.', 'ADVERT_TEXTDOMAIN' )
);
$args = array(
'labels' => $labels,
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => false,
'rewrite' => false,
'capability_type' => 'advert',
'map_meta_cap' => true,
'has_archive' => false,
'hierarchical' => false,
'menu_position' => null,
'exclude_from_search' => true,
'register_meta_box_cb' => 'campaign_start',
'supports' => array('title', 'thumbnail')
);
register_post_type( 'advert-campaign', $args );
}
//register advert location
public function advert_location_init() {
global $advert_options;
$allow_loc_edit = 0;
if(array_key_exists('advert_advertmgr_add_location', $advert_options)){
$allow_loc_edit = intval($advert_options['advert_advertmgr_add_location']);
}
if( $allow_loc_edit === 1 || current_user_can('manage_options') ){
$allow_loc_edit = true;
}
elseif( current_user_can('publish_adverts') ){
$allow_loc_edit = false;
}
else{
$allow_loc_edit = true;
}
add_filter('post_updated_messages', 'location_updated_messages');
add_action( 'save_post', 'location_save_meta');
add_filter('manage_advert-location_posts_columns', 'custom_location_columns');
add_action('manage_advert-location_posts_custom_column', 'custom_location_column', 10, 2);
add_filter('manage_edit-advert-location_sortable_columns', 'location_sortable_columns');
$labels = array(
'name' => _x( 'Locations', 'post type general name', 'ADVERT_TEXTDOMAIN' ),
'singular_name' => _x( 'Location', 'post type singular name', 'ADVERT_TEXTDOMAIN' ),
'menu_name' => _x( 'Locations', 'admin menu', 'ADVERT_TEXTDOMAIN' ),
'name_admin_bar' => _x( 'Location', 'add new on admin bar', 'ADVERT_TEXTDOMAIN' ),
'add_new' => _x( 'Add New', 'Location', 'ADVERT_TEXTDOMAIN' ),
'add_new_item' => __( 'Add New Location', 'ADVERT_TEXTDOMAIN' ),
'new_item' => __( 'New Location', 'ADVERT_TEXTDOMAIN' ),
'edit_item' => __( 'Edit Location', 'ADVERT_TEXTDOMAIN' ),
'view_item' => __( 'View Location', 'ADVERT_TEXTDOMAIN' ),
'all_items' => __( 'All Locations', 'ADVERT_TEXTDOMAIN' ),
'search_items' => __( 'Search Locations', 'ADVERT_TEXTDOMAIN' ),
'parent_item_colon' => __( 'Parent Locations:', 'ADVERT_TEXTDOMAIN' ),
'not_found' => __( 'No locations found.', 'ADVERT_TEXTDOMAIN' ),
'not_found_in_trash' => __( 'No locations found in Trash.', 'ADVERT_TEXTDOMAIN' )
);
$args = array(
'labels' => $labels,
'public' => false,
'publicly_queryable' => false,
'show_ui' => true,
'show_in_menu' => $allow_loc_edit,
'query_var' => false,
'rewrite' => false,
'capability_type' => 'advert',
'map_meta_cap' => true,
'has_archive' => false,
'hierarchical' => false,
'menu_position' => null,
'exclude_from_search' => true,
'register_meta_box_cb' => 'location_start',
'supports' => array('title', 'thumbnail')
);
register_post_type( 'advert-location', $args );
}
public function advert_replace_view_row_action( $actions ) {
if( get_post_type() === 'advert-banner' || get_post_type() === 'advert-advertiser' || get_post_type() === 'advert-campaign' || get_post_type() === 'advert-location' ){
unset( $actions['inline hide-if-no-js'] );
global $advert_options;
$advert_allow_analysis_users = 0;
if(array_key_exists('advert_allow_analysis_users', $advert_options)){
$advert_allow_analysis_users = intval($advert_options['advert_allow_analysis_users']);
}
if(get_post_type() != 'advert-location' && $advert_allow_analysis_users === 1 || current_user_can('publish_adverts')){
$nonce = wp_create_nonce( 'advert-analysis-link' );
$actions['analysis_link'] = '' . __( 'Analysis', 'ADVERT_TEXTDOMAIN' ) . '';
}
}
if(current_user_can('publish_adverts')){
if( get_post_type() === 'advert-banner' || get_post_type() === 'advert-advertiser' || get_post_type() === 'advert-campaign' ){
if (get_post_status() != 'advert-archive' ){
$nonce = wp_create_nonce( 'advert-archive' );
$actions['archive_post'] = '' . __( 'Archive', 'ADVERT_TEXTDOMAIN' ) . '';
}
else{
$nonce = wp_create_nonce( 'advert-archive' );
$actions['archive_post'] = '' . __( 'Unarchive', 'ADVERT_TEXTDOMAIN' ) . '';
}
}
}
return $actions;
}
}// End AdVert Post Types Class