template_include for search.php makes WordPress think its on the home page

Your problem is that you are not resetting all the needed query variables, like WP_Query::$is_page, WP_Query::$is_single and WP_Query::$is_archive. Also note that ‘pre_get_posts’ is fired for all queries, the main and the secondaries, so you should check that you are working on the main query. Finally, when you get data from $_GETyou should sanitize it before … Read more

Get user role by using user_id in buddypress

Try this function: function get_user_role($user_id){ global $wpdb; $user = get_userdata( $user_id ); $capabilities = $user->{$wpdb->prefix . ‘capabilities’}; if ( !isset( $wp_roles ) ){ $wp_roles = new WP_Roles(); } foreach ( $wp_roles->role_names as $role => $name ) { if ( array_key_exists( $role, $capabilities ) ) { return $role; } } return false; } I’ve not included … Read more

Display all search results

The quick and dirty way to do it would be to use query_posts again, doubling the number of database calls. <?php if (have_posts()) : ?> <?php query_posts(‘showposts=999’); ?> Better would be to add this to functions.php, altering the original query before it is executed: function change_wp_search_size($query) { if ( $query->is_search ) // Make sure it … Read more

How to exclude pages from the search results

Note that when we use: $query->set( ‘post_type’, ‘post’ ); then we’re overriding all searchable post types, not only the page post type. That may be just fine in some cases, and we’re done using some of your pre_get_posts snippets that fit our needs. But sometimes we don’t want to hard fix it that way. Here … Read more

How do I create a meta box for dates?

If you’re in need of Meta Boxes for WordPress, check out the amazing code in github by jaredatch. https://github.com/jaredatch/Custom-Metaboxes-and-Fields-for-WordPress This allows you to add all sorts of metaboxes to your WP theme (or plugin). Date Picker, file upload, wysiwyg, text areas, text boxes…it’s really amazing and saves lots of time.

Seperating Custom Post Search Results

You can group posts by type using posts_groupby filter hook: add_filter(‘posts_groupby’, ‘group_by_post_type’ ); function group_by_post_type( $groupby ) { global $wpdb; if( !is_search() ) { return $groupby; } $mygroupby = “{$wpdb->posts}.post_type”; if( !strlen(trim($groupby))) { // groupby was empty, use ours return $mygroupby; } // wasn’t empty, append ours return $groupby . “, ” . $mygroupby; } … Read more