Multiple pages on a single page

Take a look at WordPress Page Templates;

You can create a file with structure to match your current theme and place your code in the content area ( or place an action hook for your special content ).

Example for Twenty Twelve:

/*
Template Name: My Custom Page
*/

get_header(); ?>

<div id="primary" class="site-content">
    <div id="content" role="main">

        <?php
        $args = array(
          'post_type' => 'page',
          'post__in' => array( 2, 5, 35, 67 ) //list of page_ids
        );
        $page_query = new WP_Query( $args );
        if( $page_query->have_posts() ) :
        echo '<div class="pages-on-page">';
        //print any general title or any header here//
        while( $page_query->have_posts() ) : $page_query->the_post();
        echo '<div class="page-on-page" id="page_id-' . $post->ID . '">';
        //print any output you want per page//
        echo '</div>';
        endwhile;
        echo '</div>';
        else:
        //optional text here is no pages found//
        endif;
        wp_reset_postdata();
        ?>

    </div><!-- #content -->
</div><!-- #primary -->

****Do not forget to start the file with < ? php

Save this code as a PHP file with almost any name your_custom_template.php and place it into your child theme folder. Then add a new page and assign the page template as My Custom Page as seen above in the code.

That should get you at least started enough to see your code on the front of the website.

Leave a Comment