I created some custom fields for my wordpress site using PHP. They stick some image “buttons” on the page and I can assign a different URL for each to link to. For some reason, though, only the first image works; the others all appear, but link to just the image, not the URL. (see site at http://www.learnitsystems.com/new/programs/ell/). I can’t figure out what I’ve done wrong…is it okay for me to put the code here for some advice?
$new_meta_boxes_2 =
array(
“topart” => array(
“name” => “topart”,
“type” => “input”,
“std” => “”,
“title” => “Top Art”,
“description” => “http://*****.jpg”),
“toparturl” => array(
“name” => “toparturl”,
“type” => “input”,
“std” => “”,
“title” => “Topart url”,
“description” => “”),
“logo” => array(
“name” => “logo”,
“type” => “input”,
“std” => “”,
“title” => “Logo”,
“description” => “”),
“logourl” => array(
“name” => “logourl”,
“type” => “input”,
“std” => “”,
“title” => “Logo url”,
“description” => “”),
);
$new_meta_boxes_3 =
array(
“button1” => array(
“name” => “button1”,
“type” => “input”,
“std” => “”,
“title” => “button1”,
“description” => “”),
“button1url” => array(
“name” => “button1url”,
“type” => “input”,
“std” => “”,
“title” => “button1 url”,
“description” => “”),
“button2” => array(
“name” => “button2”,
“type” => “input”,
“std” => “”,
“title” => “button2”,
“description” => “”),
“button2url” => array(
“name” => “button2url”,
“type” => “input”,
“std” => “”,
“title” => “button2 url”,
“description” => “”),
“button3” => array(
“name” => “button3”,
“type” => “input”,
“std” => “”,
“title” => “button3”,
“description” => “”),
“button3url” => array(
“name” => “button3url”,
“type” => “input”,
“std” => “”,
“title” => “button3 url”,
“description” => “”),
“button4” => array(
“name” => “button4”,
“type” => “input”,
“std” => “”,
“title” => “button4”,
“description” => “”),
“button4url” => array(
“name” => “button4url”,
“type” => “input”,
“std” => “”,
“title” => “button4 url”,
“description” => “”),
);
function new_meta_boxes() {
global $post, $new_meta_boxes, $new_meta_boxes_2, $new_meta_boxes_3;
foreach($new_meta_boxes as $meta_box) {
echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
echo'<h2>'.$meta_box['title'].'</h2>';
if( $meta_box['type'] == "input" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<input type="text" name="'.$meta_box['name'].'_value" value="'.$meta_box_value.'" size="55" /><br />';
} elseif ( $meta_box['type'] == "select" ) {
echo'<select name="'.$meta_box['name'].'_value">';
foreach ($meta_box['options'] as $option) {
echo'<option';
if ( get_post_meta($post->ID, $meta_box['name'].'_value', true) == $option ) {
echo ' selected="selected"';
} elseif ( $option == $meta_box['std'] ) {
echo ' selected="selected"';
}
echo'>'. $option .'</option>';
}
echo'</select>';
}
echo'<p><label for="'.$meta_box['name'].'_value">'.$meta_box['description'].'</label></p>';
}
}
function new_meta_boxes_2() {
global $post, $new_meta_boxes, $new_meta_boxes_2, $new_meta_boxes_3;
foreach($new_meta_boxes_2 as $meta_box) {
echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
echo'<h2>'.$meta_box['title'].'</h2>';
if( $meta_box['type'] == "input" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<input type="text" name="'.$meta_box['name'].'_value" value="'.$meta_box_value.'" size="55" /><br />';
} elseif ( $meta_box['type'] == "select" ) {
echo'<select name="'.$meta_box['name'].'_value">';
foreach ($meta_box['options'] as $option) {
echo'<option';
if ( get_post_meta($post->ID, $meta_box['name'].'_value', true) == $option ) {
echo ' selected="selected"';
} elseif ( $option == $meta_box['std'] ) {
echo ' selected="selected"';
}
echo'>'. $option .'</option>';
}
echo'</select>';
}
echo'<p><label for="'.$meta_box['name'].'_value">'.$meta_box['description'].'</label></p>';
}
}
function new_meta_boxes_3() {
global $post, $new_meta_boxes, $new_meta_boxes_2, $new_meta_boxes_3;
foreach($new_meta_boxes_3 as $meta_box) {
echo'<input type="hidden" name="'.$meta_box['name'].'_noncename" id="'.$meta_box['name'].'_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
echo'<h2>'.$meta_box['title'].'</h2>';
if( $meta_box['type'] == "input" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<input type="text" name="'.$meta_box['name'].'_value" value="'.$meta_box_value.'" size="55" /><br />';
} elseif( $meta_box['type'] == "textarea" ) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<textarea name="'.$meta_box['name'].'_value" rows="5" cols="50">'.$meta_box_value.'</textarea>';
} elseif ( $meta_box['type'] == "select" ) {
echo'<select name="'.$meta_box['name'].'_value">';
foreach ($meta_box['options'] as $option) {
echo'<option';
if ( get_post_meta($post->ID, $meta_box['name'].'_value', true) == $option ) {
echo ' selected="selected"';
} elseif ( $option == $meta_box['std'] ) {
echo ' selected="selected"';
}
echo'>'. $option .'</option>';
}
echo'</select>';
}
echo'<p><label for="'.$meta_box['name'].'_value">'.$meta_box['description'].'</label></p>';
}
}
function create_meta_box() {
global $theme_name, $new_meta_boxes, $new_meta_boxes_2, $new_meta_boxes_3;
if (function_exists('add_meta_box') ) {
add_meta_box( 'new-meta-boxes_2', 'Top Art & Logo', 'new_meta_boxes_2', 'post', 'normal', 'high' );
add_meta_box( 'new-meta-boxes_2', 'Top Art & Logo', 'new_meta_boxes_2', 'page', 'normal', 'high' );
add_meta_box( 'new-meta-boxes_3', 'Button Area', 'new_meta_boxes_3', 'post', 'normal', 'high' );
add_meta_box( 'new-meta-boxes_3', 'Button Area', 'new_meta_boxes_3', 'page', 'normal', 'high' );
}
}
function save_postdata( $post_id ) {
global $post, $new_meta_boxes, $new_meta_boxes_2, $new_meta_boxes_3;
foreach($new_meta_boxes_2 as $meta_box) {
// Verify
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
foreach($new_meta_boxes_2 as $meta_box) {
// Verify
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
foreach($new_meta_boxes_3 as $meta_box) {
// Verify
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
foreach($new_meta_boxes_3 as $meta_box) {
// Verify
if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( 'page' == $_POST['post_type'] ) {
if ( !current_user_can( 'edit_page', $post_id ))
return $post_id;
} else {
if ( !current_user_can( 'edit_post', $post_id ))
return $post_id;
}
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
}
add_action(‘admin_menu’, ‘create_meta_box’);
add_action(‘save_post’, ‘save_postdata’);