AnsPress_Ajax::toggle_featured()
Description #
Handle toggle featured question ajax callback
Source #
File: includes/ajax-hooks.php
public static function toggle_featured() { $post_id = (int) ap_sanitize_unslash( 'post_id', 'request' ); if ( ! ap_user_can_toggle_featured() || ! anspress_verify_nonce( 'set_featured_' . $post_id ) ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'Sorry, you cannot toggle a featured question', 'anspress-question-answer' ) ), ) ); } $post = ap_get_post( $post_id ); // Do nothing if post type is not question. if ( 'question' !== $post->post_type ) { ap_ajax_json( array( 'success' => false, 'snackbar' => array( 'message' => __( 'Only question can be set as featured', 'anspress-question-answer' ) ), ) ); } // Check if current question ID is in featured question array. if ( ap_is_featured_question( $post ) ) { ap_unset_featured_question( $post->ID ); // Update activity. ap_activity_add( array( 'q_id' => $post->ID, 'action' => 'unfeatured', ) ); ap_ajax_json( array( 'success' => true, 'action' => array( 'active' => false, 'title' => __( 'Mark this question as featured', 'anspress-question-answer' ), 'label' => __( 'Feature', 'anspress-question-answer' ), ), 'snackbar' => array( 'message' => __( 'Question is unmarked as featured.', 'anspress-question-answer' ) ), ) ); } ap_set_featured_question( $post->ID ); // Update activity. ap_activity_add( array( 'q_id' => $post->ID, 'action' => 'featured', ) ); ap_ajax_json( array( 'success' => true, 'action' => array( 'active' => true, 'title' => __( 'Unmark this question as featured', 'anspress-question-answer' ), 'label' => __( 'Unfeature', 'anspress-question-answer' ), ), 'snackbar' => array( 'message' => __( 'Question is marked as featured.', 'anspress-question-answer' ) ), ) ); }
Expand full source code Collapse full source code View on GitHub: includes/ajax-hooks.php:300
Add your comment