word press templates
TRANSCRIPT
WordPress templatesHow the content you put into wp-admin gets
turned into web pages
What are WordPress templates?
• Individual PHP files in a theme that you can modify
• Any given page request selects a particular template
• A child theme inherits (and overrides) the templates of its parent
<?php
// Includes header.phpget_header();
// Content goes here
// Includes sidebar.phpget_sidebar();
// Includes footer.phpget_footer();
?>
A basic template
<!DOCTYPE html><html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title><?php bloginfo('name'); ?></title> <?php wp_head(); ?> </head> <body>
header.php
<?php wp_footer(); ?> </body></html>
footer.php
<?php
// This is where helper functions and miscellaneous// theme settings go
// We can leave this empty for now
?>
functions.php
<?php
// This can also be empty
?>
sidebar.php
What kind of content?
• Group of posts
• Single post or page
• Media attachment
Groups of posts
• Most recent posts (index.php)
• Posts in a specific category (category.php)
• Search results (search.php)
The loop
The Loop is used by WordPress to display each of your posts. Using The Loop, WordPress processes each of the posts to be displayed on the current page and formats them according to how they match specified criteria within The Loop tags. Any HTML or PHP code placed in the Loop will be repeated on each post.”
—WordPress Codex
“
<?php
while (have_posts()) { the_post(); // Display post content}
?>
A basic WordPress loop
<?php
if (have_posts()) { while (have_posts()) { the_post(); // Display post content }} else { echo "Sorry, no posts were found.\n";}
?>
A more sophisticated loop, with error checking
How do you display post content?
• Template Tags are pre-written helper functions you can use in your theme
• For example the_title() which prints out the current post’s title
• They are documented extensively
<?php
while (have_posts() { the_post();
?><div id="<?php the_ID(); ?>"> <h1><?php the_title(); ?></h1> <div class="content"><?php the_content(); ?></div> Posted on <?php the_data(); ?> at <?php the_time(); ?></div><?php
}
?>
Using template tags
Template hierarchy
index.php
header.php
footer.php
functions.php
home.php
front-page.php
404.php
search.php
archive.php
single.php
page.php
date.php
author.php
category.php
tag.php
taxonomy.php
attachment.php
custom.php