bbp_get_topic_admin_links( array $args = array() )
Return admin links for topic.
Description Description
Move topic functionality is handled by the edit topic page.
Parameters Parameters
- $args
-
(Optional) This function supports these arguments: - id: Optional. Topic id - before: Before the links - after: After the links - sep: Links separator - links: Topic admin links array
Default value: array()
Return Return
(string) Topic admin links
Source Source
File: includes/topics/template.php
function bbp_get_topic_admin_links( $args = array() ) {
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'id' => bbp_get_topic_id(),
'before' => '<span class="bbp-admin-links">',
'after' => '</span>',
'sep' => ' | ',
'links' => array()
), 'get_topic_admin_links' );
if ( empty( $r['links'] ) ) {
$r['links'] = apply_filters( 'bbp_topic_admin_links', array(
'edit' => bbp_get_topic_edit_link ( $r ),
'merge' => bbp_get_topic_merge_link ( $r ),
'close' => bbp_get_topic_close_link ( $r ),
'stick' => bbp_get_topic_stick_link ( $r ),
'trash' => bbp_get_topic_trash_link ( $r ),
'spam' => bbp_get_topic_spam_link ( $r ),
'approve' => bbp_get_topic_approve_link( $r ),
'reply' => bbp_get_topic_reply_link ( $r )
), $r['id'] );
}
// See if links need to be unset
$topic_status = bbp_get_topic_status( $r['id'] );
if ( in_array( $topic_status, bbp_get_non_public_topic_statuses(), true ) ) {
// Close link shouldn't be visible on trashed/spammed/pending topics
unset( $r['links']['close'] );
// Spam link shouldn't be visible on trashed topics
if ( bbp_get_trash_status_id() === $topic_status ) {
unset( $r['links']['spam'] );
// Trash link shouldn't be visible on spam topics
} elseif ( bbp_get_spam_status_id() === $topic_status ) {
unset( $r['links']['trash'] );
}
}
// Process the admin links
$links = implode( $r['sep'], array_filter( $r['links'] ) );
$retval = $r['before'] . $links . $r['after'];
// Filter & return
return apply_filters( 'bbp_get_topic_admin_links', $retval, $r, $args );
}