From: Anthony Talarico Date: Mon, 7 Nov 2016 19:43:59 +0000 (-0500) Subject: adding custom post type 'partners' to the theme with name, title, email , phone and... X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=319a701b8481e9bddcc3db32a1ed5caa374c1a70;p=WP-Themes%2Fglmthemes%2Funiversitycenter-theme.git adding custom post type 'partners' to the theme with name, title, email , phone and url fields. featured images are available as well --- diff --git a/functions.php b/functions.php index d4358de..a2ba797 100644 --- a/functions.php +++ b/functions.php @@ -2,6 +2,7 @@ require_once 'lib/menu-walker.php'; require_once 'lib/navigation.php'; require_once 'parts/glm-blocks.php'; +require_once 'lib/partners-post-type.php'; $ancestorId = null; $includePages = array(); diff --git a/lib/partners-post-type.php b/lib/partners-post-type.php new file mode 100644 index 0000000..9082a92 --- /dev/null +++ b/lib/partners-post-type.php @@ -0,0 +1,217 @@ + _x( 'Partners', 'Post Type General Name', 'text_domain' ), + 'singular_name' => _x( 'Partner', 'Post Type Singular Name', 'text_domain' ), + 'menu_name' => __( 'Partners', 'text_domain' ), + 'name_admin_bar' => __( 'Partners', 'text_domain' ), + 'archives' => __( 'Partner Archives', 'text_domain' ), + 'parent_item_colon' => __( 'Parent Item:', 'text_domain' ), + 'all_items' => __( 'All Partners', 'text_domain' ), + 'add_new_item' => __( 'Add New Partner', 'text_domain' ), + 'add_new' => __( 'Add New', 'text_domain' ), + 'new_item' => __( 'New Item', 'text_domain' ), + 'edit_item' => __( 'Edit Item', 'text_domain' ), + 'update_item' => __( 'Update Item', 'text_domain' ), + 'view_item' => __( 'View Item', 'text_domain' ), + 'search_items' => __( 'Search Partners', 'text_domain' ), + 'not_found' => __( 'Not found', 'text_domain' ), + 'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ), + 'featured_image' => __( 'Featured Image', 'text_domain' ), + 'set_featured_image' => __( 'Set featured image', 'text_domain' ), + 'remove_featured_image' => __( 'Remove featured image', 'text_domain' ), + 'use_featured_image' => __( 'Use as featured image', 'text_domain' ), + 'insert_into_item' => __( 'Insert into item', 'text_domain' ), + 'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ), + 'items_list' => __( 'Items list', 'text_domain' ), + 'items_list_navigation' => __( 'Items list navigation', 'text_domain' ), + 'filter_items_list' => __( 'Filter items list', 'text_domain' ), + ); + $args = array( + 'label' => __( 'Partner', 'text_domain' ), + 'labels' => $labels, + 'supports' => array('thumbnail'), +// 'taxonomies' => array( 'category', 'post_tag' ), + 'hierarchical' => false, + 'public' => true, + 'show_ui' => true, + 'show_in_menu' => true, + 'menu_position' => 5, + 'show_in_admin_bar' => true, + 'show_in_nav_menus' => true, + 'can_export' => true, + 'has_archive' => true, + 'exclude_from_search' => false, + 'publicly_queryable' => true, + 'capability_type' => 'page', + 'register_meta_box_cb' => 'add_metaboxes', + ); + register_post_type( 'partners', $args ); + +} +add_action( 'init', 'custom_post_type', 0 ); + +/** + * Partner Name + * + * Adds the field for camper types + * + * @access public + * @return void + */ +function partner_name() { + global $post; + $nonce = wp_create_nonce( 'partners-meta-noncename' ); + // Get the features for the post. + $name = get_post_meta( $post->ID, 'partner_name', true ); + + // Output field. + if ( !empty( $name) ) { + $value = "value=".'"'.$name .'"'; + } + ?> + /> + + '; + // Get the features for the post. + $title = get_post_meta( $post->ID, 'partner_title', true ); + + // Output field. + if ( !empty( $title) ) { + $value = "value=".'"'.$title .'"'; + } + ?> + /> + + ID, 'partner_email', true ); + + // Output field. + if ( !empty( $email) ) { + $value = "value=".'"'.$email .'"'; + } + ?> + /> + + ID, 'partner_phone', true ); + + // Output field. + if ( !empty( $phone) ) { + $value = "value=".'"'.$phone .'"'; + } + ?> + /> + + ID, 'partner_url', true ); + + // Output field. + if ( !empty( $url) ) { + $value = "value=".'"'.$url .'"'; + } + ?> + /> + + ID; + } + if ( ! current_user_can( 'edit_post', $post->ID ) ) { + return $post->ID; + } + $name = filter_var( $_POST['partner_name'] ); + $title = filter_var( $_POST['partner_title'] ); + $email = filter_var( $_POST['partner_email'] ); + $phone = filter_var( $_POST['partner_phone'] ); + $url = filter_var( $_POST['partner_url'] ); + + update_post_meta( $post->ID, 'partner_name', $name ); + update_post_meta( $post->ID, 'partner_title', $title ); + update_post_meta( $post->ID, 'partner_email', $email ); + update_post_meta( $post->ID, 'partner_phone', $phone ); + update_post_meta( $post->ID, 'partner_url', $url ); +} + +/** + * add_metaboxes + * + * Add the meta fields + * + * @access public + * @return void + */ +function add_metaboxes() { + add_meta_box( 'partner_name', 'Name', 'partner_name', GLM_POST_TYPE, 'normal', 'low' ); + add_meta_box( 'partner_title', 'Title', 'partner_title', GLM_POST_TYPE, 'normal', 'low' ); + add_meta_box( 'partmer_email', 'Email', 'partner_email', GLM_POST_TYPE, 'normal', 'low' ); + add_meta_box( 'partner_phone', 'Phone', 'partner_phone', GLM_POST_TYPE, 'normal', 'low' ); + add_meta_box( 'partner_url', 'URL', 'partner_url', GLM_POST_TYPE, 'normal', 'low' ); +} +add_action( 'save_post', 'save_meta' ); \ No newline at end of file