[英]Validate custom fields in wordpress post
我有一个自定义的speaker_organization
speaker
和扬声器,我有一个自定义字段speaker_organization
。 如何验证此信息并在admin notice
显示错误。
add_action( 'add_meta_boxes', 'speaker_organization_box' );
function speaker_organization_box() {
add_meta_box(
'speaker_organization',
__( 'Organization', 'dbem' ),
'speaker_organization_box_content',
'speaker',
'side',
'high'
);
}
function speaker_organization_box_content( $post ) {
// generate a nonce field
wp_nonce_field( basename( __FILE__ ), 'dbem-speaker-organization-nonce' );
// get previously saved meta values (if any)
$speaker_organization = get_post_meta( $post->ID, 'speaker_organization', true );
echo '<label for="speaker_organization"></label>';
echo '<input type="text" id="speaker_organization" name="speaker_organization" placeholder="Organization Name" value="'.$speaker_organization.'" />';
}
function speaker_organization_box_save( $post_id ) {
$speaker_organization = $_POST['speaker_organization'];
update_post_meta( $post_id, 'speaker_organization', $speaker_organization );
}
add_action( 'save_post', 'speaker_organization_box_save' );
运用
add_action('admin_notices','my_admin_notice');
或使用validate js
add_action('admin_enqueue_scripts', 'add_my_js');
function add_my_js(){
wp_enqueue_script('my_validate', 'path/to/jquery.validate.min.js', array('jquery'));
wp_enqueue_script('my_script_js', 'path/to/my_script.js');
}
jQuery().ready(function() {
jQuery("#post").validate();
});
<input type="text" name="my_custom_text_field" class="required"/>
function wpse_update_post_custom_values($post_id, $post) {
// Do some checking...
if($_POST['subhead'] != 'value i expect') {
// Add an error here
$errors->add('oops', 'There was an error.');
}
return $errors;
}
add_action('save_post','wpse_update_post_custom_values',1,2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.