AnsPress_Ajax::permanent_delete_post()
Description #
Handle Ajax callback for permanent delete of post.
Source #
File: includes/ajax-hooks.php
public static function permanent_delete_post() { $post_id = (int) ap_sanitize_unslash( 'post_id', 'request' ); if ( ! anspress_verify_nonce( 'delete_post_' . $post_id ) || ! ap_user_can_permanent_delete( $post_id ) ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'Sorry, unable to delete post', 'anspress-question-answer' ) ), ) ); } $post = ap_get_post( $post_id ); if ( 'question' === $post->post_type ) { /** * Triggered right before deleting question. * * @param integer $post_id question ID. */ do_action( 'ap_wp_trash_question', $post_id ); } else { /** * Triggered right before deleting answer. * * @param integer $post_id answer ID. */ do_action( 'ap_wp_trash_answer', $post_id ); } wp_delete_post( $post_id, true ); if ( 'question' === $post->post_type ) { ap_ajax_json( array( 'success' => true, 'redirect' => ap_base_page_link(), 'snackbar' => array( 'message' => __( 'Question is deleted permanently', 'anspress-question-answer' ) ), ) ); } $current_ans = ap_count_published_answers( $post->post_parent ); // translators: %d is answers count. $count_label = sprintf( _n( '%d Answer', '%d Answers', $current_ans, 'anspress-question-answer' ), $current_ans ); ap_ajax_json( array( 'success' => true, 'snackbar' => array( 'message' => __( 'Answer is deleted permanently', 'anspress-question-answer' ) ), 'deletePost' => $post_id, 'answersCount' => array( 'text' => $count_label, 'number' => $current_ans, ), ) ); }
Expand full source code Collapse full source code View on GitHub: includes/ajax-hooks.php:234
Add your comment