投稿がゴミ箱から削除された後にカスタム情報通知を追加しようとしていますが、うまくいっていません。
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
}
}
私は明らかにここに何かが足りないのですが、私はグーグルで何を見つけることができませんでした。
admin_notices
フックを使うだけで、私の投稿管理ページに常に通知が表示されます。
bulk countsをチェックして、投稿がdeletedであったかどうかを確認できます。
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 );
カスタム通知でコールバックを次のように定義します。
function wpse_243594_notice()
{
printf(
'<div class="notice notice-info is-dismissible">%s</div>',
esc_html__( 'Hello World!', 'domain' )
);
}
一括カウントには、updated、locked、trashed、およびuntrashedに関する追加情報が含まれています。
あなたがこれをあなたのニーズに合わせてさらに調整できることを願っています!
私はこれが解決すると思います:
if(isset($_GET['post_status']) && $_GET['post_status']=='trash'){
add_action( 'admin_notices', 'show_post_order_info' );
}