bbPress::register_post_statuses()
Register the post statuses used by Forums
Description
We do some manipulation of the ‘trash’ status so trashed topics and replies can be viewed from within the theme.
Source
File: bp-forums/classes/class-bbpress.php
public static function register_post_statuses() { // Closed @todo clean up translation register_post_status( bbp_get_closed_status_id(), apply_filters( 'bbp_register_closed_post_status', array( 'label' => __( 'Closed', 'buddyboss' ), 'label_count' => _n_noop( 'Closed <span class="count">(%s)</span>', 'Closed <span class="count">(%s)</span>', 'buddyboss' ), 'public' => true, 'show_in_admin_all' => true ) ) ); // Spam @todo clean up translation register_post_status( bbp_get_spam_status_id(), apply_filters( 'bbp_register_spam_post_status', array( 'label' => __( 'Spam', 'buddyboss' ), 'label_count' => _n_noop( 'Spam <span class="count">(%s)</span>', 'Spam <span class="count">(%s)</span>', 'buddyboss' ), 'protected' => true, 'exclude_from_search' => true, 'show_in_admin_status_list' => true, 'show_in_admin_all_list' => false ) ) ); // Orphan register_post_status( bbp_get_orphan_status_id(), apply_filters( 'bbp_register_orphan_post_status', array( 'label' => __( 'Orphan', 'buddyboss' ), 'label_count' => _n_noop( 'Orphan <span class="count">(%s)</span>', 'Orphans <span class="count">(%s)</span>', 'buddyboss' ), 'protected' => true, 'exclude_from_search' => true, 'show_in_admin_status_list' => true, 'show_in_admin_all_list' => false ) ) ); // Hidden register_post_status( bbp_get_hidden_status_id(), apply_filters( 'bbp_register_hidden_post_status', array( 'label' => __( 'Hidden', 'buddyboss' ), 'label_count' => _n_noop( 'Hidden <span class="count">(%s)</span>', 'Hidden <span class="count">(%s)</span>', 'buddyboss' ), 'private' => true, 'exclude_from_search' => true, 'show_in_admin_status_list' => true, 'show_in_admin_all_list' => true ) ) ); /** * Trash fix * * We need to remove the internal arg and change that to * protected so that the users with 'view_trash' cap can view * single trashed topics/replies in the front-end as wp_query * doesn't allow any hack for the trashed topics to be viewed. */ global $wp_post_statuses; if ( !empty( $wp_post_statuses['trash'] ) ) { // User can view trash so set internal to false if ( current_user_can( 'view_trash' ) ) { $wp_post_statuses['trash']->internal = false; $wp_post_statuses['trash']->protected = true; // User cannot view trash so set internal to true } else { $wp_post_statuses['trash']->internal = true; } } }
Changelog
Version | Description |
---|---|
bbPress (r2727) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.