Re: Help! 404 error, but page displays
Looks like WordPress is setting the 404 because it doesn’t recognize the bbPress page that is loading.
When the global WP object is constructed, the function WP->handle_404 calls “status_header( 404 )”.
As a workaround, I modified “handle_404” to lay off the 404 if “BB_PATH” is defined (i.e. when a bbPress page is loading). This seems to work ok.
Here’s the new “handle_404” at around line 445 in “wp-includes/classes.php”.
function handle_404() {
global $wp_query;
if ( !defined( 'BB_PATH' ) && (0 == count($wp_query->posts)) && !is_404() && !is_search() && ( $this->did_permalink || (!empty($_SERVER['QUERY_STRING']) && (false === strpos($_SERVER['REQUEST_URI'], '?'))) ) ) {
// Don't 404 for these queries if they matched an object.
if ( ( is_tag() || is_category() || is_author() ) && $wp_query->get_queried_object() ) {
if ( !is_404() )
status_header( 200 );
return;
}
$wp_query->set_404();
status_header( 404 );
nocache_headers();
} elseif ( !is_404() ) {
status_header( 200 );
}
}