При публикации нового сообщения в WordPress я хочу показать дополнительное admin_notice, чтобы показать пользовательское сообщение. Я использую admin_notices
крючки для этого. Я проверил это, и это работает. Что не работает, так это показать его при публикации.
Я попробовал несколько методов, включая ' publish_post'
hook. Крюк стреляет, когда я ставлю var_dump('bla');exit();
, я вижу это работает. Я думаю, что причина, по которой admin_notices не отображается, в том, что страница обновляется. Поэтому, если было бы что-то вроде 'after_publish_post'
, это было бы замечательно, но я не могу его найти.
Я также попробовал кое-что, что нашел в похожем вопросе:
if( ( $_POST['post_status'] == 'publish' ) && ( $_POST['original_post_status'] != 'publish' ) ) { echo "New post!"; exit();}
Этотакже не имеет никакого эффекта
-
На данный момент у меня есть:
add_action('publish_post', array($this,'onInsertPost')); //does work, function gets triggered
public function onInsertPost($post_id, $post, $update) {
add_action( 'admin_notices', array($this, 'info_text_news') );
}
public function info_text_news() {
$class = 'notice notice-info';
$message = __( 'My message', 'admin_notice' );
printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message);
}
Как я уже говорил, весь этот кодработает, но вместе уведомление не появляется. Я думаю из-за обновления страницы после нажатия кнопки публикации.