Adicionar aviso de postagem personalizado após a exclusão

4

Estou tentando adicionar um aviso de informações personalizadas depois que a postagem foi excluída da lixeira, mas não estou tendo sorte com ela

add_action( 'delete_post', 'show_admin_notice' );
/**
 * Show admin notice after post delete
 *
 * @since 1.0.0.
 */
function show_admin_notice(){
    add_action( 'admin_notices', 'show_post_order_info' );
}

/**
 * Display notice when user deletes the post
 *
 * When user deletes the post, show the notice for the user
 * to go and refresh the post order.
 *
 * @since 1.0.0
 */
function show_post_order_info() {
    $screen = get_current_screen();

    if ( $screen->id === 'edit-post' ) {
        ?>
        <div class="notice notice-info is-dismissible">
            <p><?php echo esc_html__( 'Please update the ', 'nwl' ) . '<a href="' . esc_url( admin_url( 'edit.php?page=post-order' ) ). '">' . esc_html__( 'post order settings', 'nwl' ) . '</a>' . esc_html__( ' so that the posts would be correctly ordered on the front pages.', 'nwl' ); ?></p>
        </div>
        <?php
    }
}

Eu claramente sinto falta de algo aqui, mas não consegui descobrir o que está no google.

Se eu usar o admin_notices hook, receberei o aviso sempre na página de meus posts

    
por dingo_d 22.10.2016 / 17:44

2 respostas

3

Verificando as contagens em massa

Podemos verificar as contagens em massa , para ver se alguma postagem foi excluída :

add_filter( 'bulk_post_updated_messages', function( $bulk_messages, $bulk_counts )
{
    // Check the bulk counts for 'deleted' and add notice if it's gt 0
    if( isset( $bulk_counts['deleted'] ) && $bulk_counts['deleted'] > 0 )
        add_filter( 'admin_notices', 'wpse_243594_notice' );

    return $bulk_messages;
}, 10, 2 );

onde definimos o retorno de chamada com nosso aviso personalizado como:

function wpse_243594_notice()
{
    printf( 
        '<div class="notice notice-info is-dismissible">%s</div>',
        esc_html__( 'Hello World!', 'domain' )
    );
}

As contagens em massa contêm mais informações sobre atualizadas , bloqueadas , lixeira e não lixadas .

Exemplo de saída

Espero que você possa ajustar isso ainda mais às suas necessidades!

    
por birgire 22.10.2016 / 22:32
0

Acho que isso vai resolver:

if(isset($_GET['post_status']) && $_GET['post_status']=='trash'){
     add_action( 'admin_notices', 'show_post_order_info' );
}
    
por T.Todua 22.10.2016 / 19:10

Tags