对于我的 CPT,我使用了一些额外的元数据。 我想验证元数据,如果有问题则显示错误。
经过一些研究,我尝试了这个代码
add_action('save_post', function($post_id){
if(isset($_POST['joLink'])){
if($_POST['joLink'] !== ''){
update_post_meta($post_id, 'joLink', $_POST['joLink']);
}else{
add_settings_error(
'missing-link',
'missing-link',
'Link may not empty!',
'error'
);
add_action('admin_notices', function(){
$message = '<div id="message" class="error"><p><ul>';
foreach ( $errors as $error ) {
$message .= '<li>' . $error['message'] . '</li>';
}
$message .= '</ul></p></div>';
echo $message;
});
}
}else{
delete_post_meta($post_id, 'joLink');
}
return $post_id;
});
如果我使用空链接保存帖子,Wordpress 会保存数据并返回成功。 我缺少什么?
取消帖子保存所需要做的只是
die
。
add_action('save_post', function ($post_id) {
if (true) {
wp_die(__('Link may not empty!', 'your-text-domain'));
}
return $post_id;
});