Browse Source

films cpt

windhamdavid 10 years ago
parent
commit
ee23652e8d
1 changed files with 282 additions and 0 deletions
  1. 282 0
      inc/films-cpt.php

+ 282 - 0
inc/films-cpt.php

@@ -0,0 +1,282 @@
+<?php 
+function ph_films() {
+ 
+	$labels = array(
+		'name' => _x('Films', 'post type general name'),
+		'singular_name' => _x('Film', 'post type singular name'),
+		'add_new' => _x('Add New Film', 'Film item'),
+		'add_new_item' => __('Add New Film'),
+		'edit_item' => __('Edit Film'),
+		'new_item' => __('New Film'),
+		'view_item' => __('View Film'),
+		'search_items' => __('Search Films'),
+		'not_found' =>  __('No Films found'),
+		'not_found_in_trash' => __('No Films found in Trash'),
+		'parent_item_colon' => ''
+	);
+ 
+	$args = array(
+		'labels' => $labels,
+		'public' => true,
+		'publicly_queryable' => true,
+		'show_ui' => true,
+		'query_var' => true,
+		'capability_type' => 'post',
+		'hierarchical' => false,
+		'rewrite' => array("slug" => "films"),
+		'menu_position' => 3,
+		'supports' => array('title','editor','thumbnail','excerpt'),
+		'menu_icon' => get_stylesheet_directory_uri() . '/img/film-icon.jpg',
+	  ); 
+ 	
+	if (class_exists('MultiPostThumbnails')) {
+	        new MultiPostThumbnails(array(
+	        'label' => 'Cover',
+	        'id' => 'secondary-image',
+	        'post_type' => 'film'
+	        )
+	    );
+	        new MultiPostThumbnails(array(
+	        'label' => 'Films Page Image',
+	        'id' => 'secondary-image-2',
+	        'post_type' => 'film'
+	        )
+	    );
+	}
+
+	register_post_type( 'Film' , $args );
+}
+add_action('init', 'ph_films');
+register_taxonomy("type", array("film"), array("hierarchical" => true, "label" => "Types", "singular_label" => "Type", "rewrite" => true));
+
+
+
+add_action("admin_init", "phf_meta_init");
+function phf_meta_init(){
+  	add_meta_box("phf_year", "Year", "phf_year", "Film", "side", "high");
+	add_meta_box("phf_video", "Videos", "phf_video", "Film", "side", "low");	
+  	add_meta_box("phf_credits", "Credits", "phf_credits", "Film", "advanced", "low");
+	add_meta_box("phf_publicity", "Publicity", "phf_publicity", "Film", "advanced", "low");
+	add_meta_box("phf_reviews", "Reviews", "phf_reviews", "Film", "advanced", "low");
+	add_meta_box("phf_featuring", "Featuring", "phf_featuring", "Film", "advanced", "low");
+	add_meta_box("phf_color", "Colors", "phf_color", "Film", "side", "low");
+	add_meta_box("phf_price", "Purchase Options", "phf_price", "Film", "side", "low");
+	//echo '<input type="hidden" name="ph_nonce" value="' . wp_create_nonce(__FILE__) . '" />';
+}
+
+function phf_year(){
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$ph_year = $custom["ph_year"][0];
+	?>
+	<label>Year</label>
+	<input name="ph_year" value="<?php echo $ph_year; ?>" />
+	<?php
+}
+
+function phf_video() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$video = $custom["video"][0];
+	?>
+	<label>URL:</label>
+	<input name="video" value="<?php echo $video; ?>" />
+	<?php
+}
+
+function phf_credits() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$credits = $custom["credits"][0];
+	?>
+	<div class="customEditor"><label>Credits:</label><br />
+	<textarea cols="70" rows="5" name="credits"><?php echo $credits; ?></textarea></div>
+	<?php
+}
+function phf_publicity() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$publicity = $custom["publicity"][0];
+	?>
+	<div class="customEditor"><label>Publicity:</label><br />
+	<textarea cols="70" rows="5" name="publicity"><?php echo $publicity; ?></textarea></div>
+	<?php
+}
+
+function phf_reviews() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$reviews = $custom["reviews"][0];
+	?>
+	<p><label>Reviews:</label><br />
+	<textarea cols="70" rows="5" name="reviews"><?php echo $reviews; ?></textarea></p>
+	<?php
+}
+
+function phf_featuring() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$featuring = $custom["featuring"][0];
+	?>
+	<p><label>Featuring:</label><br />
+	<textarea cols="70" rows="5" name="featuring"><?php echo $featuring; ?></textarea></p>
+	<?php
+}
+
+function phf_color() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$custom2 = get_post_custom($post->ID);
+	$custom3 = get_post_custom($post->ID);
+	$color = $custom["color"][0];
+	$color2 = $custom2["color2"][0];
+	$color3 = $custom3["color3"][0];
+	?>
+	<label>HEX:</label><input name="color" value="<?php echo $color; ?>" /><br />
+	<label>HEX:</label><input name="color2" value="<?php echo $color2; ?>" /><br />
+	<label>HEX:</label><input name="color3" value="<?php echo $color3; ?>" />
+	<?php
+}
+function phf_price() {
+  global $post;
+	$custom = get_post_custom($post->ID);
+	$custom2 = get_post_custom($post->ID);
+	$custom3 = get_post_custom($post->ID);
+	$custom4 = get_post_custom($post->ID);
+
+	$price = $custom["price"][0];
+	$price2 = $custom2["price2"][0];
+	$price3 = $custom3["price3"][0];
+	$price4 = $custom4["price4"][0];
+
+	?>
+	<p>Price:  (no dollar sign)</p>
+	<label>Personal:</label><input name="price" value="<?php echo $price; ?>" /><br />
+	<label>Library:</label><input name="price2" value="<?php echo $price2; ?>" /><br />
+	<label>University:</label><input name="price3" value="<?php echo $price3; ?>" /><br />
+	<p>Vendor/Distributor</p>
+	<label>URL:</label><input name="price4" value="<?php echo $price4; ?>" /><br />
+	<?php
+}
+
+add_action('save_post', 'phf_meta_save');
+function phf_meta_save(){
+
+	global $post;
+	
+	//if (!wp_verify_nonce($_POST['ph_nonce'],__FILE__)) return $post_id;
+
+	if ( !current_user_can( 'edit_post', $post->ID ))
+	    return $post->ID;
+	
+	if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
+	    return $post->ID;
+	}
+  	if( $post->post_type == 'film' )  {
+	if (isset( $_POST ) ) {
+		update_post_meta($post->ID, "ph_year", $_POST["ph_year"]);
+		update_post_meta($post->ID, "video", $_POST["video"]);
+		update_post_meta($post->ID, "credits", $_POST["credits"]);
+		update_post_meta($post->ID, "publicity", $_POST["publicity"]);
+		update_post_meta($post->ID, "featuring", $_POST["featuring"]);
+		update_post_meta($post->ID, "reviews", $_POST["reviews"]);	
+		update_post_meta($post->ID, "color", $_POST["color"]);
+		update_post_meta($post->ID, "color2", $_POST["color2"]);
+		update_post_meta($post->ID, "color3", $_POST["color3"]);
+		update_post_meta($post->ID, "price", $_POST["price"]);
+		update_post_meta($post->ID, "price2", $_POST["price2"]);
+		update_post_meta($post->ID, "price3", $_POST["price3"]);
+		update_post_meta($post->ID, "price4", $_POST["price4"]);
+	}
+}
+}
+
+
+add_action('manage_film_posts_custom_column', 'manage_film_columns', 10, 2);
+function manage_film_columns($column_name, $id) {
+	global $wpdb;
+	switch ($column_name) {
+	case 'id':
+		echo $id;
+	        break;
+	case "thumbnail":
+		echo the_post_thumbnail('small');
+			break;
+	case "cover":
+		echo MultiPostThumbnails::the_post_thumbnail_thumb('film', 'secondary-image'); 
+			break;
+	case 'images':
+		$num_images = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts WHERE post_parent = %d", $id ));
+
+		echo $num_images; 
+		break;
+	default:
+		break;
+	} 
+}
+add_filter('manage_edit-film_columns', 'add_new_film_columns');
+function add_new_film_columns($film_columns) {
+	$new_columns['cb'] = '<input type="checkbox" />';
+	$new_columns['title'] = __('Film Name', 'column name');
+	$new_columns['images'] = __('Images');
+	$new_columns['thumbnail'] = __('thumbnail');
+	$new_columns['cover'] = __('cover');
+	$new_columns['date'] = __('Date', 'column name');
+	return $new_columns;
+}
+
+
+
+add_action( 'admin_head', 'phf_icons' );
+function phf_icons() { ?>
+    <style type="text/css" media="screen">
+    #icon-edit.icon32-posts-film {background: url(<?php bloginfo('template_url') ?>/img/film-icon.png) no-repeat;}
+    </style>
+<?php }
+
+add_action('admin_print_footer_scripts','my_admin_print_footer_scripts',99);
+function my_admin_print_footer_scripts()
+{
+    ?><script type="text/javascript">/* <![CDATA[ */
+        jQuery(function($)
+        {
+            var i=1;
+            $('.customEditor textarea').each(function(e)
+            {
+                var id = $(this).attr('id');
+ 
+                if (!id)
+                {
+                    id = 'customEditor-' + i++;
+                    $(this).attr('id',id);
+                }
+ 
+                tinyMCE.execCommand('mceAddControl', false, id);
+ 
+            });
+        });
+    /* ]]> */</script><?php
+}
+
+add_action("template_redirect", 'ph_redirect');
+function ph_redirect(){
+	global $wp;
+	global $wp_query;
+	global $post;	
+	if (isset($wp->query_vars["post_type"]) && $wp->query_vars["post_type"] != 'post' && $wp->query_vars["post_type"] != 'page') :
+		if ( file_exists(TEMPLATEPATH . '/' . $wp->query_vars["post_type"] . '.php') ) :
+			$ph_template = TEMPLATEPATH . '/' . $wp->query_vars["post_type"] . '.php';
+		elseif 	( file_exists(TEMPLATEPATH . '/t_' . $wp->query_vars["post_type"] . '.php') ) :
+			$ph_template = TEMPLATEPATH . '/t_' . $wp->query_vars["post_type"] . '.php';
+		endif;
+		if(isset($ph_template)) :
+			if (have_posts()) :
+				include($ph_template);
+				die();
+			else :
+				$wp_query->is_404 = true;
+			endif;
+		endif;
+	endif;
+}
+?>