Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/14/2015 03:39:38 PM (9 years ago)
Author:
boonebgorges
Message:

When a copmonent directory is set to the front page, don't interfere with blog searches.

WP's default search query arg is 's', so that URLs like example.com?s=foo lead
to a search of blog posts on the term 'foo'. When a BuddyPress component page
like Members is set to the front page, it interferes with this behavior in two
ways: (1) BuddyPress interprets example.com?s=foo as a Members directory
request, and (2) the 's' query arg is interpreted as a Members search term.

We fix this conflict as follows:

  • During the URL parsing process, don't interpret requests of the form example.com?s=foo as being BP component requests, even if a BP component is set to the front page.
  • In order to make BuddyPress component searches continue to work, we change the default search query arguments for each component to be unique. For example, member directory searches look like example.com?members_search=foo. Components register their own 'search_query_arg', and these args can be filtered with the new 'bp_core_get_component_search_query_arg' filter.

Fixes #5087.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-activity/bp-activity-template.php

    r10077 r10110  
    642642        : false;
    643643
     644    $search_terms_default = false;
     645    $search_query_arg = bp_core_get_component_search_query_arg( 'activity' );
     646    if ( ! empty( $_REQUEST[ $search_query_arg ] ) ) {
     647        $search_terms_default = stripslashes( $_REQUEST[ $search_query_arg ] );
     648    }
     649
    644650    /** Parse Args ************************************************************/
    645651
     
    677683
    678684        // Searching
    679         'search_terms'      => false,        // specify terms to search on
     685        'search_terms'      => $search_terms_default,
    680686        'update_meta_cache' => true,
    681687    ), 'has_activities' );
Note: See TracChangeset for help on using the changeset viewer.