0

我的 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']);
} 

}

任何人都可以帮助我吗?谢谢!

4

1 回答 1

1

我终于创建了一个工作代码,在我在 wordpress 中写入自定义字段并单击保存后,将其从 textarea 字段中删除,但保存它并且它可以工作。

这是新的代码:

<?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,保存后将文本保留在那里?

于 2013-01-31T18:23:26.537 回答