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