bbp_get_reply_to_dropdown( int $reply_id )
Return a select box allowing to pick which topic/reply a reply belongs.
Description Description
Parameters Parameters
- $reply_id
-
(Required)
Return Return
(string) The dropdown
Source Source
File: includes/replies/template.php
function bbp_get_reply_to_dropdown( $reply_id = 0 ) {
// Validate the reply data
$reply_id = bbp_get_reply_id( $reply_id );
$reply_to = bbp_get_reply_to( $reply_id );
$topic_id = bbp_get_reply_topic_id( $reply_id );
// Get the replies
$posts = get_posts( array(
'post_type' => bbp_get_reply_post_type(),
'post_status' => bbp_get_public_status_id(),
'post_parent' => $topic_id,
'numberposts' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
) );
// Append `reply_to` for each reply so it can be walked
foreach ( $posts as &$post ) {
// Check for reply post type
$_reply_to = bbp_get_reply_to( $post->ID );
// Make sure it's a reply to a reply
if ( empty( $_reply_to ) || ( $topic_id === $_reply_to ) ) {
$_reply_to = 0;
}
// Add reply_to to the post object so we can walk it later
$post->reply_to = $_reply_to;
}
// Default "None" text
$show_none = ( 0 === $reply_id )
? esc_attr_x( 'None', 'Default reply to dropdown text', 'bbpress' )
: sprintf( esc_attr__( '%1$s - %2$s', 'bbpress' ), $topic_id, bbp_get_topic_title( $topic_id ) );
// Get the dropdown and return it
$retval = bbp_get_dropdown( array(
'show_none' => $show_none,
'select_id' => 'bbp_reply_to',
'select_class' => 'bbp_dropdown',
'exclude' => $reply_id,
'selected' => $reply_to,
'post_parent' => $topic_id,
'post_type' => bbp_get_reply_post_type(),
'max_depth' => bbp_thread_replies_depth(),
'page' => 1,
'per_page' => -1,
'walker' => new BBP_Walker_Reply_Dropdown(),
'posts' => $posts
) );
// Filter & return
return apply_filters( 'bbp_get_reply_to_dropdown', $retval, $reply_id, $reply_to, $topic_id );
}
Changelog Changelog
| Version | Description |
|---|---|
| 2.6.0 | Introduced. |