Skip to:
Content

bbPress.org

Changeset 2980


Ignore:
Timestamp:
04/03/2011 06:44:19 AM (15 years ago)
Author:
johnjamesjacoby
Message:

Introduce bbp_is_query_name() function to make checking the '_bbp_query_name' query variable easier, and use this function through-out.

Fix bug where topic and reply widgets would selfishly listen to pagination query vars.

Fix bug when viewing a single topic, replies widget would only show replies from that topic.

Location:
branches/plugin/bbp-includes
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/plugin/bbp-includes/bbp-general-functions.php

    r2978 r2980  
    187187 */
    188188function bbp_get_paged() {
    189     if ( $paged = get_query_var( 'paged' ) )
     189
     190    // Make sure to not paginate widget queries
     191    if ( !bbp_is_query_name( 'bbp_widget' ) && ( $paged = get_query_var( 'paged' ) ) )
    190192        return (int) $paged;
    191193
     194    // Default to first page
    192195    return 1;
    193196}
     
    839842 * @uses apply_filters() Calls 'enable_edit_any_user_configuration' with true
    840843 * @uses wp_die() To die
    841  * @uses bbp_get_query_name() To get the query name and check if it's 'bbp_widget'
     844 * @uses bbp_is_query_name() Check if query name is 'bbp_widget'
    842845 * @uses bbp_get_view_query_args() To get the view query args
    843846 * @uses bbp_get_topic_post_type() To get the topic post type
     
    915918
    916919        // Make sure 404 is not set
    917         $posts_query->is_404 = false;
     920        $posts_query->is_404  = false;
    918921
    919922        // Correct is_home variable
     
    924927
    925928        // Set author_name as current user's nicename to get correct posts
    926         if ( 'bbp_widget' != bbp_get_query_name() )
     929        if ( !bbp_is_query_name( 'bbp_widget' ) )
    927930            $posts_query->query_vars['author_name'] = $user->user_nicename;
    928931
  • branches/plugin/bbp-includes/bbp-general-template.php

    r2974 r2980  
    217217 *                                to true.
    218218 * @uses bbp_is_user_profile_page() To check if it's the user profile page
    219  * @uses bbp_get_query_name() To get the query name
     219 * @uses bbp_is_query_name() To get the query name
    220220 * @return bool True if it's the favorites page, false if not
    221221 */
     
    224224        return false;
    225225
    226     if ( !empty( $query_name_check ) && ( 'bbp_user_profile_favorites' != bbp_get_query_name() ) )
     226    if ( !empty( $query_name_check ) && ( !bbp_is_query_name( 'bbp_user_profile_favorites' ) ) )
    227227        return false;
    228228
     
    240240 *                                to true.
    241241 * @uses bbp_is_user_profile_page() To check if it's the user profile page
    242  * @uses bbp_get_query_name() To get the query name
     242 * @uses bbp_is_query_name() To get the query name
    243243 * @return bool True if it's the subscriptions page, false if not
    244244 */
     
    247247        return false;
    248248
    249     if ( !empty( $query_name_check ) && ( 'bbp_user_profile_subscriptions' != bbp_get_query_name() ) )
     249    if ( !empty( $query_name_check ) && ( !bbp_is_query_name( 'bbp_user_profile_subscriptions' ) ) )
    250250        return false;
    251251
     
    264264 *                                to true.
    265265 * @uses bbp_is_user_profile_page() To check if it's the user profile page
    266  * @uses bbp_get_query_name() To get the query name
     266 * @uses bbp_is_query_name() To get the query name
    267267 * @return bool True if it's the topics created page, false if not
    268268 */
     
    271271        return false;
    272272
    273     if ( !empty( $query_name_check ) && ( 'bbp_user_profile_topics_created' != bbp_get_query_name() ) )
     273    if ( !empty( $query_name_check ) && ( !bbp_is_query_name( 'bbp_user_profile_topics_created' ) ) )
    274274        return false;
    275275
     
    994994
    995995/**
     996 * Check the passed parameter against the current _bbp_query_name
     997 *
     998 * @since bbPress (r2780)
     999 *
     1000 * @uses bbp_get_query_name() Get the query var '_bbp_query_name'
     1001 * @return bool True if match, false if not
     1002 */
     1003function bbp_is_query_name( $query_name )  {
     1004
     1005    // No empties
     1006    if ( empty( $query_name ) )
     1007        return false;
     1008
     1009    // Check if query var matches
     1010    if ( bbp_get_query_name() == $query_name )
     1011        return true;
     1012
     1013    // No match
     1014    return false;
     1015}
     1016
     1017/**
    9961018 * Get the '_bbp_query_name' setting
    9971019 *
  • branches/plugin/bbp-includes/bbp-reply-template.php

    r2974 r2980  
    6262
    6363            // Query only by post_parent
    64             'post_parent' => bbp_get_topic_id(),
     64            'post_parent' => bbp_is_topic() ? bbp_get_topic_id() : 'any',
    6565
    6666            // Narrow query down to bbPress replies
     
    7171    } else {
    7272
    73         $parent_args = array(
     73        // Skip topic_id if in the replies widget query
     74        if ( !bbp_is_query_name( 'bbp_widget' ) ) {
    7475
    7576            // Query by post meta instead of post_parent
    76             'meta_key'    => '_bbp_topic_id',
    77             'meta_value'  => bbp_get_topic_id(),
    78 
    79             // Include both topic and reply in the loop
    80             'post_type'   => array( bbp_get_topic_post_type(), bbp_get_reply_post_type() )
    81         );
    82 
    83         // Manually set the post_parent variable
    84         $post_parent = bbp_get_topic_id();
     77            $parent_args['meta_key']   = '_bbp_topic_id';
     78            $parent_args['meta_value'] = bbp_get_topic_id();
     79
     80            // Manually set the post_parent variable
     81            $post_parent = bbp_get_topic_id();
     82        }
     83
     84        // Include both topic and reply in the loop
     85        $parent_args['post_type'] = array( bbp_get_topic_post_type(), bbp_get_reply_post_type() );
     86
    8587    }
    8688
  • branches/plugin/bbp-includes/bbp-widgets.php

    r2970 r2980  
    495495     * @param array $instance
    496496     * @uses apply_filters() Calls 'bbp_reply_widget_title' with the title
     497     * @uses bbp_set_query_name() To set the query name to 'bbp_widget'
     498     * @uses bbp_reset_query_name() To reset the query name
    497499     * @uses bbp_has_replies() The main reply loop
    498500     * @uses bbp_replies() To check whether there are more replies available
Note: See TracChangeset for help on using the changeset viewer.