Adicione uma checkbox de alerta JS simples na submissão de postagem

Quero adicionar uma checkbox de alerta de Javascript simples quando um produto for adicionado pelo cliente para revisão. No entanto, usando os ganchos de transição do status da publicação, uma página branca é criada após o popup. Existe um gancho que triggers depois que a página foi recarregada? Aqui está meu código atual:

//JS alert on submit product function notify_me_for_pending() { $notice = __('Thank you for your submission. Your product will be available for purchase as soon as we have approved it!', 'pressive-child'); echo 'alert("'.$notice.'");'; } add_action( 'draft_to_pending', 'notify_me_for_pending' ); add_action( 'auto-draft_to_pending', 'notify_me_for_pending' ); add_action('new_to_pending', 'notify_me_for_pending'); 

Solutions Collecting From Web of "Adicione uma checkbox de alerta JS simples na submissão de postagem"

Tenha em atenção que, quando a publicação é atualizada, o WordPress o redireciona de /wp-admin/post.php para /wp-admin/post.php?post=41&action=edit que significa que ele carrega duas vezes. Assim, o que você fará nos ganchos de status de transição que serão ignorados antes do conteúdo ser impresso.

Solução:-

  • Na fila de transição, a function de retorno de chamada (pós meta) alguma bandeira para exibir js popup
  • Vincular uma nova function no gancho admin_head
  • Verifique se o sinalizador está ativo exibe o sinalizador popup e reset.

Exemplo:-

 //Update post meta to display alert function add_js_for_pending($post) { update_post_meta($post->ID, 'trigger_notice', TRUE); } add_action( 'draft_to_pending', 'add_js_for_pending' ); add_action( 'auto-draft_to_pending', 'add_js_for_pending' ); add_action('new_to_pending', 'add_js_for_pending'); //JS alert on submit product function notify_me_for_pending() { global $post; $current_screen = get_current_screen(); //Check if we need to display alert if ($current_screen->base == 'post' && get_post_meta($post->ID, 'trigger_notice', TRUE)) { $notice = __('Thank you for your submission. Your product will be available for purchase as soon as we have approved it!', 'pressive-child'); ?> < ?php delete_post_meta($post->ID, 'trigger_notice'); //Alert is done now remove it. } } add_action('admin_head', 'notify_me_for_pending');