Display recent post by tag

I have 6 related posts by tag in every post. But some tags have only 2 or 3 posts. So in these posts, related posts section shows only 2 or 3 post.

I want to complete related posts (if not 6) with the new posts.

I tried many codes but if tags have 2 posts, than related posts show 2 post only. Can I add new posts to complete to 6?

Or can I display recent post order by same tag? So, there will be 6 posts and same tags will be shown first.

Thanks in advance!

Topic recent-posts Wordpress

Category Web


<div class="page-loop">

    <?php
      while (have_posts()) : the_post();
        $page_title = strtolower(get_the_title());
        the_title('<h1>','</h1>');
      ?>
        <p><?php the_content(); ?><p>
    <?php endwhile;?>

</div>

<!-- Get the most recent post that has been tagged with the page title -->
<div class="related-posts">

    <?php
      $args = array(
        'tag' => $page_title,
        'posts_per_page' => 1,
      );
      $query = new WP_Query($args);
      if ($query->have_posts()) :
        while ($query->have_posts()) : $query->the_post();
          the_title('<h1>','</h1>');
        ?>
        <p><?php the_content(); ?><p>
    <?php endwhile; else: ?>
      <p>Sorry, no posts with this tag!</p>
    <?php endif; wp_reset_query(); ?>

</div>




/** register the meta box */

function my_theme_add_meta_boxes() { global $post; add_meta_box( 'my-theme-meta', 'Choose a tag', 'my_theme_print_page_meta', 'page', 'normal', 'high' ); } add_action('add_meta_boxes', 'my_theme_add_meta_boxes');

/** Add extra meta to the page */
function my_theme_print_page_meta() {
    global $post;
    $page_tags = get_post_meta($post->ID, '_page-tags', true);
    ?>
    <label for="page-tags">Add a 'tag'</label>
    <input type="text" class="page-tags" name="page-tags" value="<?php echo esc_attr($page_tags); ?>" />
<?php

} /** Save post meta */ function my_theme_save_custom_meta() { global $post;

// Stops WP from clearing post meta when autosaving
if( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
  return $post->ID;
}
if (isset($_POST['page-tags'])) {
    $clean = sanitize_text_field($_POST['page-tags']);
    update_post_meta($post->ID, '_page-tags', $clean);
}

} add_action('save_post', 'my_theme_save_custom_meta');

<div class="page-loop">

<?php
  while (have_posts()) : the_post();
    $page_tags = get_post_meta($post->ID, '_page-tags', true);
    the_title('<h1>','</h1>');
  ?>
    <p><?php the_content(); ?><p>
<?php endwhile;?>

$page_tags, 'posts_per_page' => 1, ); $query = new WP_Query($args); if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); the_title('

','

'); ?>

Sorry, no posts with this tag!

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.