Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
bbp_toggle_reply( array $args = array() )
Do the actual reply toggling
Description Description
This function is used by bbp_toggle_reply_handler()
to do the actual heavy lifting when it comes to toggling replies. It only really makes sense to call within that context, so if you need to call this function directly, make sure you’re also doing what the handler does too.
Parameters Parameters
- $args
-
(Optional)
Default value: array()
Source Source
File: includes/replies/functions.php
function bbp_toggle_reply( $args = array() ) { // Parse the arguments $r = bbp_parse_args( $args, array( 'id' => 0, 'action' => '', 'sub_action' => '', 'data' => array() ) ); // Build the nonce suffix $nonce_suffix = bbp_get_reply_post_type() . '_' . (int) $r['id']; // Default return values $retval = array( 'status' => 0, 'message' => '', 'redirect_to' => bbp_get_reply_url( $r['id'], bbp_get_redirect_to() ), 'view_all' => false ); // What action are we trying to perform? switch ( $r['action'] ) { // Toggle approve case 'bbp_toggle_reply_approve' : check_ajax_referer( "approve-{$nonce_suffix}" ); $is_approve = bbp_is_reply_pending( $r['id'] ); $retval['status'] = $is_approve ? bbp_approve_reply( $r['id'] ) : bbp_unapprove_reply( $r['id'] ); $retval['message'] = $is_approve ? __( '<strong>ERROR</strong>: There was a problem approving the reply.', 'bbpress' ) : __( '<strong>ERROR</strong>: There was a problem unapproving the reply.', 'bbpress' ); $retval['view_all'] = ! $is_approve; break; // Toggle spam case 'bbp_toggle_reply_spam' : check_ajax_referer( "spam-{$nonce_suffix}" ); $is_spam = bbp_is_reply_spam( $r['id'] ); $retval['status'] = $is_spam ? bbp_unspam_reply( $r['id'] ) : bbp_spam_reply( $r['id'] ); $retval['message'] = $is_spam ? __( '<strong>ERROR</strong>: There was a problem unmarking the reply as spam.', 'bbpress' ) : __( '<strong>ERROR</strong>: There was a problem marking the reply as spam.', 'bbpress' ); $retval['view_all'] = ! $is_spam; break; // Toggle trash case 'bbp_toggle_reply_trash' : // Which subaction? switch ( $r['sub_action'] ) { case 'trash': check_ajax_referer( "trash-{$nonce_suffix}" ); $retval['view_all'] = true; $retval['status'] = wp_trash_post( $r['id'] ); $retval['message'] = __( '<strong>ERROR</strong>: There was a problem trashing the reply.', 'bbpress' ); break; case 'untrash': check_ajax_referer( "untrash-{$nonce_suffix}" ); $retval['status'] = wp_untrash_post( $r['id'] ); $retval['message'] = __( '<strong>ERROR</strong>: There was a problem untrashing the reply.', 'bbpress' ); break; case 'delete': check_ajax_referer( "delete-{$nonce_suffix}" ); $retval['status'] = wp_delete_post( $r['id'] ); $retval['message'] = __( '<strong>ERROR</strong>: There was a problem deleting the reply.', 'bbpress' ); break; } break; } // Add view all if needed if ( ! empty( $retval['view_all'] ) ) { $retval['redirect_to'] = bbp_add_view_all( $retval['redirect_to'], true ); } // Filter & return return apply_filters( 'bbp_toggle_reply', $retval, $r, $args ); }
Changelog Changelog
Version | Description |
---|---|
2.6.0 | Introduced. |