Skip to:
Content

bbPress.org


Ignore:
Timestamp:
06/19/2017 04:29:43 AM (9 years ago)
Author:
johnjamesjacoby
Message:

Better 404 handling:

  • Introduce bbp_is_404 query var, and set this in places where the default 404 condition needs to be overridden
  • Introduce bbp_set_200() for cases where a default of 404 needs to be set to a 200
  • Introduce bbp_get_wp_query() helper for getting the $wp_query global
  • Update bbp_set_404() to accept a $query parameter to make passing the query around easier
  • Update child-ids queries to use the last_changed cache to reduce the amount of cache churn when cleaning

Fixes #3047. See #1973.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/testcases/core/cache.php

    r6053 r6583  
    88
    99    /**
     10     * @group jjj
    1011     * @covers ::bbp_clean_post_cache
    1112     */
     
    1415        // Get the topic post type.
    1516        $tpt = bbp_get_topic_post_type();
     17        $rpt = bbp_get_topic_post_type();
    1618
    1719        // Set up a forum with 1 topic and 1 reply to that topic.
     
    3335        // Make sure we've cached some data.
    3436        bbp_get_all_child_ids( $f, $tpt );
    35         bbp_get_all_child_ids( $t, $tpt );
     37        bbp_get_all_child_ids( $t, $rpt );
    3638
    37         $this->assertEquals( array( $t ), wp_cache_get( "bbp_parent_all_{$f}_type_{$tpt}_child_ids", 'bbpress_posts' ) );
    38         $this->assertEquals( array( $r ), wp_cache_get( "bbp_parent_all_{$t}_type_{$tpt}_child_ids", 'bbpress_posts' ) );
     39        // Setup
     40        $f_key        = md5( serialize( array( 'parent_id' => $f, 'post_type' => $tpt ) ) );
     41        $t_key        = md5( serialize( array( 'parent_id' => $t, 'post_type' => $rpt ) ) );
     42        $last_changed = wp_cache_get_last_changed( 'bbpress_posts' );
     43       
     44        // Keys
     45        $f_key = "bbp_child_ids:{$f_key}:{$last_changed}";
     46        $t_key = "bbp_child_ids:{$t_key}:{$last_changed}";
     47
     48        $this->assertEquals( array( $t ), wp_cache_get( $f_key, 'bbpress_posts' ) );
     49        $this->assertEquals( array( $r ), wp_cache_get( $t_key, 'bbpress_posts' ) );
    3950
    4051        // Clean the cache.
    4152        bbp_clean_post_cache( $r );
    4253
    43         $this->assertEquals( false, wp_cache_get( "bbp_parent_all_{$f}_type_{$tpt}_child_ids", 'bbpress_posts' ) );
    44         $this->assertEquals( false, wp_cache_get( "bbp_parent_all_{$t}_type_{$tpt}_child_ids", 'bbpress_posts' ) );
     54        // Setup
     55        $last_changed = wp_cache_get_last_changed( 'bbpress_posts' );
     56       
     57        // Keys
     58        $f_key = "bbp_child_ids:{$f_key}:{$last_changed}";
     59        $t_key = "bbp_child_ids:{$t_key}:{$last_changed}";
     60
     61        $this->assertEquals( false, wp_cache_get( $f_key, 'bbpress_posts' ) );
     62        $this->assertEquals( false, wp_cache_get( $t_key, 'bbpress_posts' ) );
    4563    }
    4664}
Note: See TracChangeset for help on using the changeset viewer.