WordPress Templates Cookbook: Difference between revisions
Jump to navigation
Jump to search
| Line 37: | Line 37: | ||
* Inside the sub-navigation menu template: | * Inside the sub-navigation menu template: | ||
** Get the id of the parent page: | ** Get the id of the parent page: | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php" highlight="4"> | ||
$top_parent_id = 0; | $top_parent_id = 0; | ||
if ($post->ancestors) { | if ($post->ancestors) { | ||
Revision as of 18:16, 24 January 2013
Overview
Documentation on how to set up various common features in WordPress.
Inserting a custom content template in a page
- Within the top-level WordPress template (e.g.
page.php)
<?php get_template_part( 'modules-sidebar-donate-link' ); ?>
- The string passed as the argument to
get_template_part()corresponds to a WordPress template in the themes directory. So'modules-sidebar-donate-link'means there should be a template namedmodules-sidebar-donate-link.php. - Template markup goes in the template file (
modules-sidebar-donate-link.phpin this case).- Content can be retrieved within the template using
WP_Query().
- Content can be retrieved within the template using
<?php $query = new WP_Query("post_parent=123&post_type='page'&orderby=order&order=ASC"); /* 123 = "landing page slideshow" page */ ?>
- Then a loop would be created within the template:
<?php if ($query->have_posts()) while($query->have_posts()): $query->the_post(); ?> <div><!--// Content inserted here using markup and WP content retrieval methods. //--></div> <?php endwhile; ?>
When landing on a content section page, load a sub-navigation menu dynamically using pages that have that top-level content section page as their parent.
Example: http://rsrt.dbarchowsky.com/about-rsrt/
- Create the top-level page (as a WordPress "page", not a WP "post"). The page can have any sort of content.
- Create 2nd-level pages and assign the top-level page as their parent.
- Create a template for the sub-navigation menu, i.e.
page-navmenu.php. - Include the page navigation menu inside the loop.
get_template_part('page-navmenu');
- Inside the sub-navigation menu template:
- Get the id of the parent page:
$top_parent_id = 0;
if ($post->ancestors) {
// Grab the ID of top-level page from the tree
$top_parent_id = end($post->ancestors);
}