WordPress: почему действие «перед удалением сообщения» срабатывает при обновлении сообщения? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь создавать уведомления только тогда, когда я удаляю опубликованные посты, но он срабатывает при обновлении любого опубликованного поста?

Что я делаю не так!Благодарю.

function deleted_published_post_notify_author( $post ) {

    global $post;

    $send_published = get_post_meta( $post->ID, 'published_send_once', true );
    if ( ! empty( $send_published ) ) return;

    if( current_user_can('administrator')) {

        if( get_post_status($post) == 'publish' ) {

        $post = get_post($post->ID);
        $author = $post->post_author;
        $author_name = get_the_author_meta( 'display_name', $author );
        $link =  'https://www.cgartzone.com/submission-rules';
        $image = 'https://www.cgartzone.com/wp-content/themes/hitmag-child/assets/images/sad-icon-01.svg';
        $title = '<strong>'.$author_name.'</strong> ' . __('We are sorry to inform you that your artwork has been deleted. We recommended you to re-read our rules or contact us for more informations', 'dw-notifications'). ' <strong>'.$post->post_title.'</strong>';
        $notif = array('title'=>$title, 'link' => $link, 'image' => $image);

        update_post_meta( $post->ID, 'published_send_once', '1' );

        dwnotif_add_notification($author, $notif);
        }
    }
}
add_action( 'before_delete_post', 'deleted_published_post_notify_author' );

edit 1

Я пытался добавить if ( wp_is_post_revision( $post ) ) return;, но ничего не произошло, Как я могу избежать этого уведомления при обновлении опубликованногосообщение?Он должен срабатывать только тогда, когда я удалил пост!Любая помощь, пожалуйста.

function deleted_published_post_notify_author( $post ) {

    global $post;

    $send_published = get_post_meta( $post->ID, 'published_send_once', true );
    if ( ! empty( $send_published ) ) return;

    if( current_user_can('administrator')) {

        if( get_post_status($post) == 'publish' ) {

                    if ( wp_is_post_revision( $post ) )
                       return;

        $post = get_post($post->ID);
        $author = $post->post_author;
        $author_name = get_the_author_meta( 'display_name', $author );
        $link =  'https://www.cgartzone.com/submission-rules';
        $image = 'https://www.cgartzone.com/wp-content/themes/hitmag-child/assets/images/sad-icon-01.svg';
        $title = '<strong>'.$author_name.'</strong> ' . __('We are sorry to inform you that your artwork has been deleted. We recommended you to re-read our rules or contact us for more informations', 'dw-notifications'). ' <strong>'.$post->post_title.'</strong>';
        $notif = array('title'=>$title, 'link' => $link, 'image' => $image);
        update_post_meta( $post->ID, 'published_send_once', '1' );
        dwnotif_add_notification($author, $notif);
        }
    }
}
add_action( 'before_delete_post', 'deleted_published_post_notify_author' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...