How do I get the category URL from get_the_category?

Use: get_category_link( $category_id ); See: https://codex.wordpress.org/Function_Reference/get_category_link In your specific case: <?php global $post; $categories = get_the_category(); foreach ($categories as $category) : $exclude = get_the_ID(); $posts = get_posts(‘posts_per_page=4&category=’. $category->term_id); foreach($posts as $post) : if( $exclude != get_the_ID() ) { ?> <a href=”https://wordpress.stackexchange.com/questions/219954/<?php the_permalink(); ?>” title=”<?php the_title(); ?>” class=”post c-1″> Link to actual post</a> <?php } endforeach; … Read more

Use WP_Query with have_posts()?

global $wp_query; $original_query = $wp_query; $wp_query = null; $wp_query = new WP_Query( $args ); if ( have_posts() ) : while ( have_posts() ) : the_post(); the_title(); the_excerpt(); endwhile; else: echo ‘no posts found’; endif; $wp_query = null; $wp_query = $original_query; wp_reset_postdata(); http://codex.wordpress.org/Function_Reference/wp_reset_postdata

Knowing the total number of posts before to get into the loop

functions.php: function wpse8170_get_posts_count() { global $wp_query; return $wp_query->post_count; } index.php: if (have_posts()) : echo ‘<h1>’ . wpse8170_get_posts_count() . ‘ Posts Found</h1>’; while ( have_posts() ) : the_post(); //… endwhile; endif;

WP_Query: query posts by ids from array?

You have to use post__in (double underscore) argument, instead of post_in: echo print_r($rel); // Array ( [0] => 63 [1] => 87 ) $args = array( ‘post_type’ => array( ‘post’ ), ‘orderby’ => ‘ASC’, ‘post__in’ => $rel ); $loop = new WP_Query( $args ); If you are unsure why an argument is not working, copy … Read more

Query *only* sticky posts

I currently have no posts set as stickies on the website. Which tells me that nothing should show up in the loop. Exactly where you are wrong when passing an empty array to post__in. WordPress has some silly bugs which has no proper workaround and will most probably stay active bugs for a very long … Read more

Why do themes rely on “The Loop”?

You are thinking of WordPress templates as PHP application code. Essentially they are not that. WordPress templates by design are templates using Template Tags API. It is extra level of abstraction, that just happens to allow to use rest of PHP language too. The ease of template tags serves the popularity of WordPress and extremely … Read more

Make loop display posts by alphabetical order

To display posts in descending alphabetical order add this to your args array (taken from the wp codex) ‘orderby’ => ‘title’, ‘order’ => ‘DESC’, To display posts in ascending alphabetical order just switch DESC to ASC. So the whole thing would look like: $args = array( ‘orderby’ => ‘title’, ‘order’ => ‘DESC’, ); $query = … Read more

Exclude the category from the WordPress loop

you could use wp_parse_args() to merge your arguments into the default query // Define the default query args global $wp_query; $defaults = $wp_query->query_vars; // Your custom args $args = array(‘cat’=>-4); // merge the default with your custom args $args = wp_parse_args( $args, $defaults ); // query posts based on merged arguments query_posts($args); although, i think … Read more

Pagination returns 404 after page 20

What you are experiencing is quite normal and expected. This is one of the big reasons I always hammer on this point, never use custom queries to replace the main query on the home page or any type of archive page. They solve one issue but creates plenty other new ones Lets look at what … Read more