AnsPress_Hooks::trash_post_action( integer $post_id )
Description #
If a question is sent to trash, then move its answers to trash as well
Parameters #
- $post_idinteger (Required) Post ID.
Changelog #
Version | Description |
---|---|
4.1.6 | Delete cache for ap_is_answered . |
4.1.2 | Removed @see ap_update_post_activity_meta(). |
2.0.0 | Introduced. |
Source #
File: includes/hooks.php
public static function trash_post_action( $post_id ) { $post = ap_get_post( $post_id ); if ( 'question' === $post->post_type ) { do_action( 'ap_trash_question', $post->ID, $post ); // Save current post status so that it can be restored. update_post_meta( $post->ID, '_ap_last_post_status', $post->post_status ); //@codingStandardsIgnoreStart $ans = get_posts( array( 'post_type' => 'answer', 'post_status' => 'publish', 'post_parent' => $post_id, 'showposts' => -1, )); //@codingStandardsIgnoreEnd if ( ap_opt( 'trashing_question_with_answer' ) && $ans ) { ap_send_json( array( 'success' => false, 'snackbar' => array( 'message' => esc_html__( 'Sorry, you are not allowed to trash the question if there are answers available.', 'anspress-question-answer' ), ), ) ); } foreach ( (array) $ans as $p ) { $selcted_answer = ap_selected_answer(); if ( $selcted_answer === $p->ID ) { ap_unset_selected_answer( $p->post_parent ); } wp_trash_post( $p->ID ); } } if ( 'answer' === $post->post_type ) { /** * Triggered before trashing an answer. * * @param integer $post_id Answer ID. * @param object $post Post object. */ do_action( 'ap_trash_answer', $post->ID, $post ); // Save current post status so that it can be restored. update_post_meta( $post->ID, '_ap_last_post_status', $post->post_status ); ap_update_answers_count( $post->post_parent ); } }
Expand full source code Collapse full source code View on GitHub: includes/hooks.php:294
Add your comment