2. What Exactly
GET_template_part is?
• get_template_part is used to load a template
part into a template (other than header,
sidebar, footer)
• get_template_part is used for child theme
development but actually is not just for child
theme development only, is there more than
that.
3. Let See how GET_template_part
is originated?
• We see how get_template_part works.
• This example may vary with how developer
perception but this is just to illustrate how the
the get_template_part works.
• I use index.html as the very famous example.
• As a clear example, I use the index.php in
Twenty Ten Theme.
4. Index.html
• A wordpress index.html mostly consist of
these 4 basic template php files: header.php,
index.php, sidebar.php and also footer.php.
• I visualize these files in order to understand
get_template_part is.
6. Header.php
Index.html
Index.php Sidebar.php
• We break the index.html into
the basic wordpress template
files.
Footer.php
7. • We break the index.html into the basic wordpress template files. That is header.php,
index.php, sidebar.php and footer.php
Header.php
Index.html
Index.php Sidebar.php
Footer.php
8. • We break the php into standard WordPress Codex tags.
Header.php <?php get_header(); ?>
<?php
Index.php Sidebar.php Index.php get_sidebar();
?>
Footer.php <?php get_footer(); ?>
9. How About index.php?
<?php get_header(); ?>
• Suppose there is a code to
replace index.php that is
<?php get_index (); ?>
• After search in the
WordPress codex, <?php
<?php get_index (); ?> is not exist.
Index.php get_sidebar();
?>
• I prefer not to discuss
get_index because
WordPress already done
stuff to make the index.php
working smoothly.
<?php get_footer(); ?>
10. Next…
• We going directly to get_template_part.
• But first, we going to understand this example.
• <?php get_template_part( $slug, $name ); ?>
• <?php get_template_part( 'loop', 'index' ); ?>
• What the heck are these?
11. What is $slug and $name?
• At the 1st sight, I don’t really understand what
$slug and $name are.
• But, I take them as these:
$slug as $ parent
$name as $child
• As I take them like that, it much easier to
understand get_template_part and very much
of child theme
12. Recall…
• <?php get_template_part( $slug, $name ); ?>
can be written also
is <?php get_template_part( $slug ); ?>
• We going to convert those code such as
get_header into get_template_part (‘header’)
13. We going to convert those code such as get_header into
get_template_part (‘header’)
<?php
<?php get_header(); ?>
get_template_part(‘header’); ?>
<?php
<?php <?php
get_template_
Index.php get_sidebar(); get_template_part
part(‘sidebar’)
?> (‘index’); ?>
; ?>
<?php
<?php get_footer(); ?>
get_template_part(‘footer’); ?>
14. We can conclude that the get_template_part works like this.
<?php get_header(); ?>
<?php get_template_part(‘index’); ?> <?php get_sidebar(); ?>
<?php get_footer(); ?>
15. The real index.php of Twenty Ten Theme looks like this.
<?php get_header(); ?>
<div id="container">
<div id="content" role="main">
<?php get_template_part( 'loop', 'index' );?>
<?php get_sidebar(); ?>
</div><!-- #content -->
</div><!-- #container -->
<?php get_footer(); ?>
16. Index.php of Twenty Ten Theme
• Its look this:
• The index.php is using <?php
get_template_part (‘loop’, ‘index’); ?>
17. Why?
• <?php get_template_part (‘loop’, ‘index’); ?>
is used to load loop-index.php.
• What if loop-index.php not exists?
• get_template_part will load loop.php
18. Back to $slug and $name
Coding Technically File Rename Technically
• Codex: • Codex:
• <?php get_template_part( • $slug-$name.php
$slug, $name ); ?>
• Example: • Example:
• <?php get_template_part( • loop-index.php
'loop', 'index' ); ?>
• must have “-” between
$slug and $name
19. Why $parent and $child?
• To me, it is easier to understand and not much
confused.
• Back to loop-index.php, this file already a child
php file.
• If <?php get_template_part (‘loop’, ‘index’); ?>
try to load loop-index.php but it fail, it will
load her parent php file which is loop.php
• Agree ?
21. Another Example Much Similar
• If you have Twenty Ten Theme, you should the
the footer.php file. See this:
• Much prettier right? But it is for sidebar.
• That code will load sidebar-footer.php
22. sidebar-footer.php
• <?php get_sidebar( 'footer' );?>
• is similar to
• <?php get_template_part ( 'footer' );?>
• Why?
• Look the php file which is sidebar-footer.php
• Revise back what you have learn.