WP自定义元框不保存

时间:2014-09-02 16:21:35

标签: wordpress

我正在尝试创建自定义元框以保存主题的简短帖子摘要。

我已经创建了在后管理页面上按预期显示的元数据箱。保存帖子后,不会保存元框中的文本。我查看了wp_postmeta表,看不到任何补充。

任何人都可以为我解释这个问题吗?

由于

function smry_custom_meta(){

    $postTypes = array('post', 'portfolio');

    foreach ($postTypes as $postType) {
        add_meta_box(
            'summary-meta-box', // id
            __('Post Summary'), // title
            'smry_show_meta_box', // callback
            $postType, // post type
            'normal' // position
            );
    }
}
add_action('add_meta_boxes', 'smry_custom_meta');

function smry_show_meta_box(){

    global $post;
    $meta = get_post_meta($post->ID, 'smry_text', true);

    <p>
        <label>Summary Text</label>
        <textarea name="smry_text" id="smry_text" cols="60" rows="5">
            <?php echo $meta; ?>
        </textarea>
    </p>
    <?php
}

function save_summary_meta(){

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
        return $post_id;
    }

    $new = $_POST["smry_text"];

    update_post_meta($post_id, 'smry_text', $new);
}
add_action('save_post', 'save_summary_meta');

1 个答案:

答案 0 :(得分:0)

我认为您的问题可以在$post_id内使用save_summary_meta()。试试这个:

function save_summary_meta(){
    global $post;

    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
        return $post->ID;
    }

    $new = $_POST["smry_text"];

    update_post_meta($post->ID, 'smry_text', $new);
}
add_action('save_post', 'save_summary_meta');