为自定义帖子类型创建错误处理程序。
add_filter( 'wp_insert_post_data' , 'filter_post_data' , '99', 2 );
function filter_post_data( $data , $postarr )
{
//error handling
if($data['post_type'] == 'post_annunci')
{
if($postarr['annuncio_prezzo'] == '' || !is_numeric($postarr['annuncio_prezzo']))
{
$errors .= 'Annuncio non salvato, devi inserire un prezzo con valori numerici.</br>prezzo = '.$postarr['annuncio_prezzo'];
update_option('my_admin_errors', $errors);
$data['post_status'] = 'draft';
}
}
return $data;
}
add_action( 'admin_notices', 'admin_error_handler_annunci' );
function admin_error_handler_annunci() {
$errors = get_option('my_admin_errors');
if($errors)
echo '<div class="error"><p>' . $errors . '</p></div>';
}
// Clear any errors
add_action( 'admin_footer', 'clear_error_handler_annunci' );
function clear_error_handler_annunci() {
update_option('my_admin_errors', false);
}
这完美无缺,但我收到了一条“已发布的帖子”通知,我想删除。
有没有办法摆脱那条消息? 我看过像这个脚本的某种通知卸妆,但只适用于更新通知。
function hideUpdateNag() {
remove_action( 'admin_notices', 'update_nag', 3 );
}
add_action('admin_menu','hideUpdateNag');
答案 0 :(得分:2)
是。过滤器post_updated_messages
可以实现。
add_filter( 'post_updated_messages', 'remove_all_messages_so_16015959' );
function remove_all_messages_so_16015959( $messages )
{
return array();
}
在此示例中,返回一个空数组。导致完全没有消息。
这可以使用下面的样本值进行微调,这是过滤器之前$messages
的内容。
Array
(
[post] => Array
(
[0] =>
[1] => Post updated. View post
[2] => Custom field updated.
[3] => Custom field deleted.
[4] => Post updated.
[5] =>
[6] => Post published. View post
[7] => Post saved.
[8] => Post submitted. Preview post
[9] => Post scheduled for: Jan 12, 2013 @ 19:03. Preview post
[10] => Post draft updated. Preview post
)
[page] => Array
(
[0] =>
[1] => Page updated. View page
[2] => Custom field updated.
[3] => Custom field deleted.
[4] => Page updated.
[5] =>
[6] => Page published. View page
[7] => Page saved.
[8] => Page submitted. Preview page
[9] => Page scheduled for: Jan 12, 2013 @ 19:03. Preview page
[10] => Page draft updated. Preview page
)
[attachment] => Array
(
[1] => Media attachment updated.
[2] => Media attachment updated.
[3] => Media attachment updated.
[4] => Media attachment updated.
[5] => Media attachment updated.
[6] => Media attachment updated.
[7] => Media attachment updated.
[8] => Media attachment updated.
[9] => Media attachment updated.
[10] => Media attachment updated.
)
)