How-to exclude terms from the main query the most performant way?

You can set the taxonomy query for the main query using pre_get_posts: add_action( ‘pre_get_posts’, ‘my_exclude_terms_from_query’ ); function my_exclude_terms_from_query( $query ) { if ( $query->is_main_query() /* && whatever else */ ) { $tax_query = array ( array( ‘taxonomy’ => ‘category’, ‘terms’ => array( ‘cat-slug’ ), ‘field’ => ‘slug’, ‘operator’ => ‘NOT IN’, ) ); $query->set( ‘tax_query’, … Read more

get comments and get posts in loop

get_comments accepts an array of arguments, you are passing an integer. If you want to retrieve all comments for a post use: get_comments( array(‘post_id’ => $post->ID, ‘status’ => ‘approve’) ); To get an already formatted comment list, is easier use the wp_list_comments() function, instead of another foreach cycle (code from codex): echo ‘<ol class=”commentlist”>’; //Gather … Read more

Using get_posts with arguments found in meta keys

get_posts accepts any of the arguments that WP_Query accepts. So there’s a few options. 1. meta_key and meta_value <?php get_posts(array( // some more args here ‘meta_key’ => ‘some_key’, ‘meta_value’ => ‘some value’ )); 2. meta_query meta_query is more sophisticated that using meta_key and meta_value. For instance, say you wanted to get posts that have the … Read more

How to restore deleted pages/posts?

Then you should see a link “Trash” on the top of pages/posts listing section. Click on that link which will take you the section where all the trashed pages/posts are listed. Select the pages/posts using the checkboxes against them. Select Restore from Bulk Actions dropdown, then hit the Apply button. Now go to pages/posts listing … Read more

get_template_part in for loop

Your problem is that the variable passed to setup_postdata() must be the global $post variable, like this: // Reference global $post variable. global $post; // Get posts. $posts = get_posts(array( ‘post_type’ => ‘post’, ‘post_count’ => 4 )); // Set global post variable to first post. $post = $posts[0]; // Setup post data. setup_postdata( $post ); … Read more