我的wordpress中有更多自定义元,其中一个不保存任何东西。 这是保存的代码
add_action('save_post', 'save_details');
function save_details($post_id){
$slug = 'homepage';
/* check whether anything should be done */
$_POST += array("{$slug}_edit_nonce" => '');
if ( !current_user_can( 'edit_post', $post_id ) ) {
return;
}
if ( !wp_verify_nonce( $_POST["{$slug}_edit_nonce"], plugin_basename( __FILE__ ) ) ){
return;
}
/* Request passes all checks; update the post's metadata */
if (isset($_REQUEST['link_homepage'])) {
update_post_meta($post_id, 'link_homepage', $_REQUEST['link_homepage']);
}
}
有人可以帮帮我吗? 谢谢!
答案 0 :(得分:1)
我终于创建了一个正常工作的代码,在我在wordpress中的自定义字段中写入后,单击“保存”将其从textarea字段中删除,但保存它并且可以正常工作。
这是新的coode:
<?php
// add meta box for post types
add_action("admin_init", "admin_init");
function admin_init(){
add_meta_box(
'settings_meta_id',
'Link Homepage',
'settings_meta',
'homepage',
'normal',
'high'
);
}
function settings_meta( $post ){
//global $post;
$values = get_post_custom( $post->ID );
$links = isset( $values['link_homepage'] ) ? $values['link_homepage'][0] : '';
wp_nonce_field( 'homepage_box_nonce', 'link_homepage_nonce' );
?>
<p>
<label for="link_homepage">Link homepage:</label><br />
<textarea cols="100" rows="2" name="link_homepage" style="width:98%;"><?php echo $link_homepage; ?></textarea>
</p>
<?php }
add_action( 'save_post', 'save_custom_details' );
function save_custom_details( $post_id ) {
global $post;
//skip auto save
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return $post_id;
}
//check for you post type only
if( $post->post_type == "homepage" ) {
if( isset($_POST['link_homepage']) ) { update_post_meta( $post->ID, 'link_homepage', $_POST['link_homepage'] );}
}
}
?>
如何修复该BUG,保存后保存文本?