I recently needed to make an easily editable single page portfolio (this kind of thing) for a friend. As the budget was essentially nil, I headed over to ThemeForest and chose one of the awesomely designed HTML templates there, only spending about $10 and saving a ton of time in the process.
I then went about the usual porting HTML to WordPress, but I need some way of splitting up the various portfolio sections — about, “what I do” etc — into a separate page for each one so my friend could edit the About page and the about section would change, edit the “What I do” page and the what I do section would change and so on.
I had thought this would be a pain to do, but happily, I was wrong.
Using WP_Query
(and not query_posts
)I was able to output the contents of one page straight after the other. The code looked something like this:
<?php
$query = new WP_Query( 'page_id=1' );
$queryObject = new WP_Query($query);
// The Loop...
if ($queryObject->have_posts()) {
while ($queryObject->have_posts()) {
$queryObject->the_post();
the_content();
// the title and other styling can be done outside the loop
}
}
// Reset Post Data
wp_reset_postdata();
?>
<!-- Some styling for the next section -->
<?php
$query = new WP_Query( 'page_id=2' ); //just change the ID
$queryObject = new WP_Query($query);
// The Loop...
if ($queryObject->have_posts()) {
while ($queryObject->have_posts()) {
$queryObject->the_post();
the_content();
}
}
// Reset Post Data
wp_reset_postdata();
?>
And so on and so forth for all the different pages — it was just a case of getting the page id and putting in a query every time I needed the actual content.
This is another case of simplicity winning the day — this could have been horribly complex, but it was literally a case of just changing one little bit.
Thanks for the helpful tip Alex!
AWESOME! thanks for this! i was alsoe sweating it, but now i can follow to use it for my own portfolio
THANK YOU!