Include and Exclude Taxonomies From Archives & Feeds Using ‘pre_get_posts’

I’ll take another shot. The following should modify the main query, such that it will include in its loop any posts that belong to no term of the Edition custom taxonomy. add_filter(‘pre_get_posts’,’better_editions_archive’); function better_editions_archive( $query ) { if ( $query->is_tax( ‘edition’ ) && $query->is_main_query() ) { $terms = get_terms( ‘edition’, array( ‘fields’ => ‘ids’ ) … Read more

Custom Table Column Sortable by Taxonomy Query

To achieve adding a custom sortable column to the WP_List_Table of your post type within the WordPress administration back-end dashboard, you will need to do the following: Replace all occurrences of YOUR-POST-TYPE-NAME with your actual post type name. Replace all occurrences of YOUR-TAXONOMY-NAME with your actual taxonomy name. Replace all occurrences of YOUR COLUMN NAME … Read more

sort child pages on admin

As I couldn’t find any filter to override the WP_Posts_List_Table class, I propose a quite hacky solution by doing this: Query only parents in pre_get_posts; Query their children on wp and change $wp_query->posts accordingly. This might need some more work as I’m probably breaking pagination numbers or so. // Use a query variable to control … Read more

Using pre_get_posts to rewrite search query to display posts from multiple taxonomies

It does’t work because you can’t use set to change all query vars. Simplest way to do the trick is set ‘s’ to an empty string: add_action( ‘pre_get_posts’, function( $query ) { if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) { $taxquery = array( … ); $query->set( ‘tax_query’, $taxquery ); $query->set(‘s’, ” ); } … Read more

Obliterate the main query and replace it

When ‘pre_get_posts’ is fired, there are a lot of things that WordPress has already done like setup all the query variables (also the query you don’t send) and setup all the conditional properties (all the is_* properties). So, if you want completely replace the query you should reset all that things and set your own. … Read more

Prevent pre_get_posts filter on specific post type

Improve your conditional to include a check for post type being queried. It can be done via WP_Query::get method So, where you have if ( !is_admin() ){ $query->set( ‘meta_key’, ‘_ct_selectbox_52f65ae267764’ ); $query->set( ‘meta_value’, $city ); return; } replace with if ( ! is_admin() && in_array ( $query->get(‘post_type’), array(‘event’,’venue’) ) ) { $query->set( ‘meta_key’, ‘_ct_selectbox_52f65ae267764’ ); … Read more

What is “main query”? [duplicate]

Your filter has a bug in it, namely when you call is_main_query, you’re not checking if the passed query is the main query, your checking if the currently active query is the main query, which will always be true. So instead try this: add_action( ‘pre_get_posts’, ‘some_name’); function some_name($query) { if ($query->is_front_page() && $query->is_main_query()) { $query->set( … Read more

multiple orderby in pre_get_posts action

As Milo said : $query->set(‘meta_key’, ‘wpcf-object-sold-status’ ); $query->set(‘orderby’, array(‘meta_value’ => ‘ASC’, ‘date’ => ‘DESC’)); // $query->set(‘order’, ‘ASC DESC’ ); // not needed Relevant link: https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/

Media library to list images only user uploaded

This works for me in order to list the items uploaded by a user on the media library. function users_my_media_only( $wp_query ) { if ( false !== strpos( $_SERVER[ ‘REQUEST_URI’ ], ‘/wp-admin/upload.php’ ) ) { $current_user = wp_get_current_user(); $current_user = $current_user->ID; if ( ! current_user_can( ‘manage_options’ ) ) { global $current_user; $wp_query->set( ‘author’, $current_user->id ); … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)