我正在尝试创建自定义元框以保存主题的简短帖子摘要。
我已经创建了在后管理页面上按预期显示的元数据箱。保存帖子后,不会保存元框中的文本。我查看了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');
答案 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');