Display recent post by tag

<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!