AnsPress_Ajax::convert_to_post()
Description #
Ajax callback for converting a question into a post.
Source #
File: includes/ajax-hooks.php
public static function convert_to_post() {
$post_id = ap_sanitize_unslash( 'post_id', 'r' );
if ( ! anspress_verify_nonce( 'convert-post-' . $post_id ) || ! ( is_super_admin() || current_user_can( 'manage_options' ) ) ) {
ap_ajax_json(
array(
'success' => false,
'snackbar' => array( 'message' => __( 'Sorry, you are not allowed to convert this question to post', 'anspress-question-answer' ) ),
)
);
}
$row = set_post_type( $post_id, 'post' );
// After success trash all answers.
if ( $row ) {
global $wpdb;
// Get IDs of all answer.
$answer_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_parent = %d and post_type = 'answer' ", (int) $post_id ) ); // phpcs:ignore WordPress.DB
foreach ( (array) $answer_ids as $id ) {
wp_delete_post( $id );
}
ap_ajax_json(
array(
'success' => true,
// translators: %s is post title.
'snackbar' => array( 'message' => sprintf( __( ' Question “%s” is converted to post and its answers are trashed', 'anspress-question-answer' ), esc_html( get_the_title( $post_id ) ) ) ),
'redirect' => get_the_permalink( $post_id ),
)
);
}
}
Expand full source code Collapse full source code View on GitHub: includes/ajax-hooks.php:454
If you have made this a post is there a way to reverse it and turn it back into a question?