问题是,当我添加textarea时,我会看到没有数据的白色屏幕
下面是我从堆栈交换中获得的代码。
add_action( \'add_meta_boxes\', \'dynamic_add_custom_box\' );
/* Do something with the data entered */
add_action( \'save_post\', \'dynamic_save_postdata\' );
/* Adds a box to the main column on the Post and Page edit screens */
function dynamic_add_custom_box() {
add_meta_box(
\'dynamic_sectionid\',
__( \'Client Information\', \'myplugin_textdomain\' ),
\'dynamic_inner_custom_box\',
\'page\');
}
/* Prints the box content */
function dynamic_inner_custom_box() {
global $post;
// Use nonce for verification
wp_nonce_field( plugin_basename( __FILE__ ), \'dynamicMeta_noncename\' );
?>
<div id="meta_inner">
<?php
//get the saved meta as an arry
$ourwork = get_post_meta($post->ID,\'ourwork\',true);
$c = 0;
if ( is_array( $ourwork ) ) {
foreach( $ourwork as $track ) {
if ( isset( $track[\'thumb\'] ) || isset( $track[\'client-img1\'] ) || isset( $track[\'client-img2\'] ) || isset( $track[\'client-img3\'] ) || isset( $track[\'client-img4\'] ) || isset( $track[\'client-desc\'] ) ) {
printf( \'<p>Thumb Image : <input type="text" name="ourwork[%1$s][thumb]" value="%2$s" size="50" /><br/>Client Image 1 : <input type="text" name="ourwork[%1$s][client-img1]" value="%3$s" size="50" /><br/>
Client Image 2 : <input type="text" name="ourwork[%1$s][client-img2]" value="%4$s" size="50"/><br/>
Client Image 3 : <input type="text" name="ourwork[%1$s][client-img3]" value="%5$s" size="50" /><br/>
Client Image 4 : <input type="text" name="ourwork[%1$s][client-img4]" value="%6$s" size="50" /><br/>
Client Desc :<br/><textarea name="ourwork[%1$s][client-desc]" value=""></textarea><br/>
<span class="remove">%8$s</span></p>\', $c, $track[\'thumb\'], $track[\'client-img1\'], $track[\'client-img2\'] , $track[\'client-img3\'] , $track[\'client-img4\'], $track[\'client-desc\'], __( \'<span class="button">Remove</span>\' ) );
$c = $c +1;
}
}
}
?>
<span id="here"></span>
<span class="add"><?php _e(\'<span class="button">Add+</span>\'); ?></span>
<script>
var $ =jQuery.noConflict();
$(document).ready(function() {
var count = <?php echo $c; ?>;
$(".add").click(function() {
count = count + 1;
$(\'#here\').append(\'<p>Thumb Image : <input type="text" name="ourwork[\'+count+\'][thumb]" value="" size="50"/><br/>client Image 1 : <input type="text" name="ourwork[\'+count+\'][client-img1]" value="" size="50"/><br/>client Image 2 : <input type="text" name="ourwork[\'+count+\'][client-img2]" value="" size="50"/><br/>client Image 3 : <input type="text" name="ourwork[\'+count+\'][client-img3]" value="" size="50"/><br/>client Image 4 : <input type="text" name="ourwork[\'+count+\'][client-img4]" value="" size="50"/><br/>client Desc:<br/><textarea name="ourwork[\'+count+\'][client-desc]" value=""></textarea><br/><span class="remove"><span class="button">Remove</span></span></p>\' );
return false;
});
$(".remove").live(\'click\', function() {
$(this).parent().remove();
});
});
</script>
</div><?php
}
/* When the post is saved, saves our custom data */
function dynamic_save_postdata( $post_id ) {
// verify if this is an auto save routine.
// If it is our form has not been submitted, so we dont want to do anything
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE )
return $post_id;
// verify this came from the our screen and with proper authorization,
// because save_post can be triggered at other times
if ( !isset( $_POST[\'dynamicMeta_noncename\'] ) )
return;
if ( !wp_verify_nonce( $_POST[\'dynamicMeta_noncename\'], plugin_basename( __FILE__ ) ) )
return;
// OK, we\'re authenticated: we need to find and save the data
$ourwork = $_POST[\'ourwork\'];
update_post_meta($post_id,\'ourwork\',$ourwork);
}