web/wp-content/themes/selecta/functions/custom.php
author ymh
Fri, 12 Mar 2010 13:29:04 +0000
changeset 1 0d28b7c10758
permissions -rw-r--r--
First commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php 
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
// Custom fields for WP write panel
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
// This code is protected under Creative Commons License: http://creativecommons.org/licenses/by-nc-nd/3.0/
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
$obox_metaboxes = array(
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
		"media" => array (
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
			"name"			=> "video_thumbnail",
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
			"default" 		=> "",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
			"label" 		=> "Video Thumbnail url",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
			"desc"      	=> "Add an image using the  <img src='images/media-button-image.gif' alt='Add Button' /> button above the WYSIWYG, and paste url here.",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
			"input_type"  	=> "textarea"
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
		),
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
		"video" => array (
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
			"name"			=> "main_video",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
			"default" 		=> "",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
			"label" 		=> "Video Object",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
			"desc"      	=> "Insert your video's <strong>embed</strong> code here.",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
			"input_type"  	=> "textarea"
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
		),
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
		"media" => array (
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
			"name"			=> "other_media",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
			"default" 		=> "",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
			"label" 		=> "Image url",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
			"desc"      	=> "Add an image using the  <img src='images/media-button-image.gif' alt='Add Button' /> button above the WYSIWYG, and paste url here.",
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
			"input_type"  	=> "textarea"
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
		)
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
	);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
	
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
function create_meta_box_ui() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
	global $post, $obox_metaboxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
	$meta_count = 0;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
	foreach ($obox_metaboxes as $obox_custom_metabox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
		$meta_count = ($meta_count + 1);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
		$obox_metabox_value = get_post_meta($post->ID,$obox_custom_metabox["name"],true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
		
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
		if ($obox_metabox_value == "" || !isset($obox_metabox_value)) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38
			$obox_metabox_value = $obox_custom_metabox['default'];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    39
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    40
		if($meta_count > 1) :
0d28b7c10758 First commit
ymh
parents:
diff changeset
    41
?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    42
			<br />
0d28b7c10758 First commit
ymh
parents:
diff changeset
    43
<?php 	endif ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    44
			
0d28b7c10758 First commit
ymh
parents:
diff changeset
    45
		<table style="width: 100%;">
0d28b7c10758 First commit
ymh
parents:
diff changeset
    46
			<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    47
				<th style="text-align: left; vertical-align: top; padding-top: 5px; width: 100%;"><label for="<?php echo $obox_custom_metabox; ?>"><?php echo $obox_custom_metabox["label"]; ?></label></th>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    48
			</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    49
			<tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    50
            	<?php if($obox_custom_metabox["name"] == "main_video") : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    51
					<td><textarea style="width: 100%;" rows="8" name="<?php echo "obox_".$obox_custom_metabox["name"]; ?>" id="'.$obox_custom_metabox.'"><?php echo $obox_metabox_value; ?></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    52
				<?php elseif($obox_custom_metabox["input_type"] == "textarea") : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    53
					<td><textarea style="width: 100%;" rows="4" name="<?php echo "obox_".$obox_custom_metabox["name"]; ?>" id="'.$obox_custom_metabox.'"><?php echo $obox_metabox_value; ?></textarea></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    54
				<?php else : ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    55
    	        	<td><input type="text" name="<?php echo "obox_".$obox_custom_metabox["name"]; ?>" id="<?php echo $obox_custom_metabox ?>" value="<?php echo $obox_metabox_value; ?>" size="<?php echo $obox_custom_metabox["input_size"] ?>" /></td>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    56
				<?php endif; ?>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    57
			</tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    58
			<tr><td style=" text-align: left;"><p style="font-size: 11px;"><?php echo $obox_custom_metabox["desc"] ?></p></td></tr>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    59
		</table>
0d28b7c10758 First commit
ymh
parents:
diff changeset
    60
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
    61
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    62
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    63
0d28b7c10758 First commit
ymh
parents:
diff changeset
    64
function insert_obox_metabox($pID) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    65
	global $obox_metaboxes;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    66
	
0d28b7c10758 First commit
ymh
parents:
diff changeset
    67
	foreach ($obox_metaboxes as $obox_custom_metabox) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    68
		$var = "obox_".$obox_custom_metabox["name"];
0d28b7c10758 First commit
ymh
parents:
diff changeset
    69
		if (isset($_POST[$var])) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    70
			add_post_meta($pID,$obox_custom_metabox["name"],$_POST[$var],true) or update_post_meta($pID,$obox_custom_metabox["name"],$_POST[$var]);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    71
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    72
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    73
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    74
0d28b7c10758 First commit
ymh
parents:
diff changeset
    75
function add_obox_meta_box() {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    76
	if ( function_exists('add_meta_box') ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    77
		add_meta_box('obox-meta-box',$GLOBALS['themename'].' Options','create_meta_box_ui','post','normal');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    78
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    79
}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    80
0d28b7c10758 First commit
ymh
parents:
diff changeset
    81
add_action('admin_menu', 'add_obox_meta_box');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    82
add_action('wp_insert_post', 'insert_obox_metabox');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    83
0d28b7c10758 First commit
ymh
parents:
diff changeset
    84
?>