Making WordPress.org

Changeset 5636


Ignore:
Timestamp:
07/09/2017 03:29:48 PM (9 years ago)
Author:
SergeyBiryukov
Message:

Support Forums: Remove user's "Active Topics" view added in [5625], sort the "Topics Started" view by latest reply instead, which is bbPress default.

Sorting by latest reply is disabled for most queries due to performance reasons, however the set of posts in "Topics Started" view is generally small, so performance should not be a concern there.

See #2470.

Location:
sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-directory-compat.php

    r5625 r5636  
    375375                        get_query_var( 'wporg_single_user_reviews' )
    376376                ||
    377                         get_query_var( 'wporg_single_user_active_topics' )
    378                 ||
    379377                        get_query_var( 'wporg_single_user_topics_replied_to' )
    380378                ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-performance-optimizations.php

    r5625 r5636  
    202202                        }
    203203
    204                         // Only look at the last year of topics for user's "Active Topics" view.
    205                         if ( get_query_var( 'wporg_single_user_active_topics' ) ) {
    206                                 add_filter( 'posts_where', array( $this, 'posts_in_last_year' ) );
    207                                 return $r;
    208                         }
    209 
    210                         if ( isset( $r['meta_key'] ) ) {
     204                        if ( isset( $r['meta_key'] ) && ! bbp_is_single_user_topics() ) {
    211205                                // has_topics() uses this by default.
    212206                                if ( '_bbp_last_active_time' == $r['meta_key'] ) {
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-plugin.php

    r5627 r5636  
    2020         * @var int Plugin DB revision, increments when changes are made to rewrite rules.
    2121         */
    22         private static $db_version = 5627;
     22        private static $db_version = 5636;
    2323
    2424        /**
  • sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-users.php

    r5635 r5636  
    101101
    102102        /**
    103          * Add query vars for user's "Reviews Written", "Active Topics",
    104          * and "Topics Replied To" pages.
     103         * Add query vars for user's "Reviews Written" and "Topics Replied To" views.
    105104         *
    106105         * @param array $query_vars Query vars.
     
    109108        public function add_query_vars( $query_vars ) {
    110109                $query_vars[] = 'wporg_single_user_reviews';
    111                 $query_vars[] = 'wporg_single_user_active_topics';
    112110                $query_vars[] = 'wporg_single_user_topics_replied_to';
    113111                return $query_vars;
     
    115113
    116114        /**
    117          * Add rewrite rules for user's "Reviews Written", "Active Topics",
    118          * and "Topics Replied To" pages.
     115         * Add rewrite rules for user's "Reviews Written" and "Topics Replied To" views.
    119116         */
    120117        public function add_rewrite_rules() {
     
    122119
    123120                $user_reviews_rule           = bbp_get_user_slug() . '/([^/]+)/reviews/';
    124                 $user_active_topics_rule     = bbp_get_user_slug() . '/([^/]+)/active/';
    125121                $user_topics_replied_to_rule = bbp_get_user_slug() . '/([^/]+)/replied-to/';
    126122
     
    141137                add_rewrite_rule( $user_reviews_rule . $feed_rule,  'index.php?' . $user_id . '=$matches[1]&wporg_single_user_reviews=1&' . $feed_id  . '=$matches[2]', $priority );
    142138
    143                 // Add user's "Active Topics" page rewrite rules.
    144                 add_rewrite_rule( $user_active_topics_rule . $base_rule,  'index.php?' . $user_id . '=$matches[1]&wporg_single_user_active_topics=1',                               $priority );
    145                 add_rewrite_rule( $user_active_topics_rule . $paged_rule, 'index.php?' . $user_id . '=$matches[1]&wporg_single_user_active_topics=1&' . $paged_id . '=$matches[2]', $priority );
    146                 add_rewrite_rule( $user_active_topics_rule . $feed_rule,  'index.php?' . $user_id . '=$matches[1]&wporg_single_user_active_topics=1&' . $feed_id  . '=$matches[2]', $priority );
    147 
    148139                // Add user's "Topics Replied To" page rewrite rules.
    149140                add_rewrite_rule( $user_topics_replied_to_rule . $base_rule,  'index.php?' . $user_id . '=$matches[1]&wporg_single_user_topics_replied_to=1',                               $priority );
     
    153144
    154145        /**
    155          * Set WP_Query::bbp_is_single_user_profile to false on user's "Reviews Written",
    156          * "Active Topics", and "Topics Replied To" pages.
     146         * Set WP_Query::bbp_is_single_user_profile to false on user's "Reviews Written"
     147         * and "Topics Replied To" views.
    157148         *
    158149         * @param WP_Query $query Current query object.
     
    162153                        get_query_var( 'wporg_single_user_reviews' )
    163154                ||
    164                         get_query_var( 'wporg_single_user_active_topics' )
    165                 ||
    166155                        get_query_var( 'wporg_single_user_topics_replied_to' )
    167156                ) {
     
    189178
    190179        /**
    191          * Set the arguments for user's "Reviews Written" and "Active Topics" queries.
     180         * Set the arguments for user's "Reviews Written" query.
    192181         *
    193182         * @param array $args WP_Query arguments.
     
    195184         */
    196185        public function parse_user_topics_query_args( $args ) {
    197                 // Forums on https://wordpress.org/support/.
     186                // Forums at https://wordpress.org/support/.
    198187                if ( defined( 'WPORG_SUPPORT_FORUMS_BLOGID' ) && WPORG_SUPPORT_FORUMS_BLOGID == get_current_blog_id() ) {
    199 
    200188                        // Set forum ID for topic and review queries.
    201189                        if ( get_query_var( 'wporg_single_user_reviews' ) ) {
    202190                                $args['post_parent'] = Plugin::REVIEWS_FORUM_ID;
    203                         } elseif ( bbp_is_single_user_topics() || get_query_var( 'wporg_single_user_active_topics' ) ) {
     191                        } elseif ( bbp_is_single_user_topics() ) {
    204192                                $args['post_parent__not_in'] = array( Plugin::REVIEWS_FORUM_ID );
    205193                        }
    206 
    207                 // Rosetta forums.
    208                 } else {
    209 
    210                         // Only look at the last year of topics for user's "Active Topics" view.
    211                         // For the main forums, the same is done in Performance_Optimizations::has_topics().
    212                         if ( get_query_var( 'wporg_single_user_active_topics' ) ) {
    213                                 $args['date_query'] = array( array(
    214                                         'after' => '1 year ago',
    215                                 ) );
    216                         }
    217194                }
    218195
     
    221198
    222199        /**
    223          * Set 'base' argument for pagination links on user's "Reviews Written",
    224          * "Active Topics", and "Topics Replied To" pages.
     200         * Set 'base' argument for pagination links on user's "Reviews Written"
     201         * and "Topics Replied To" views.
    225202         *
    226203         * @param array $args Pagination arguments.
     
    233210                }
    234211
    235                 if ( get_query_var( 'wporg_single_user_active_topics' ) ) {
    236                         $args['base']  = bbp_get_user_profile_url( bbp_get_displayed_user_id() ) . 'active/';
    237                         $args['base'] .= bbp_get_paged_slug() . '/%#%/';
    238                 }
    239 
    240212                if ( get_query_var( 'wporg_single_user_topics_replied_to' ) ) {
    241213                        $args['base']  = bbp_get_user_profile_url( bbp_get_displayed_user_id() ) . 'replied-to/';
     
    247219
    248220        /**
    249          * Set title for user's "Reviews Written", "Active Topics",
    250          * and "Topics Replied To" pages.
     221         * Set title for user's "Reviews Written" and "Topics Replied To" views.
    251222         *
    252223         * @param array $title Title parts.
     
    264235                }
    265236
    266                 if ( get_query_var( 'wporg_single_user_active_topics' ) ) {
    267                         if ( bbp_is_user_home() ) {
    268                                 $title['text'] = __( 'Your Active Topics', 'wporg-forums' );
    269                         } else {
    270                                 $title['text'] = get_userdata( bbp_get_user_id() )->display_name;
    271                                 /* translators: user's display name */
    272                                 $title['format'] = __( "%s's Active Topics", 'wporg-forums' );
    273                         }
    274                 }
    275 
    276237                if ( get_query_var( 'wporg_single_user_topics_replied_to' ) ) {
    277238                        if ( bbp_is_user_home() ) {
Note: See TracChangeset for help on using the changeset viewer.