WordPress Developer Super Cheat Sheet There sure is a lot you need to remember when working with WordPress theme files. From the names of basic template files to functions and how the WordPress Loop works, it’s next to impossible to remember every PHP tag or even how to define a new theme. Theme Files These are the basic files that every theme should include: style.css  – This is your theme’s stylesheet file. index.php  – This is the main body template for your theme. Its job is to bring together all the information in the other theme files using template tags. header.php  – This file contains the header information that appears with the   section of your site, stuff like metadata and the link to your stylesheet. sidebar.php  – Everything in you sidebar goes in this file, like widgets, categories, additional menus, search form, etc. footer.php  – This file contains your footer information, such as copyright details, widgets, and social icons. single.php  – This file displays just one post. page.php  – When you create a page on your site, this is the template responsible. comments.php  – This file is responsible for displaying comments. 404.php  – When visitors try to visit a page on your site that doesn’t exist, this file will general an error page. functions.php  – This file is where you can place special functions. We always recommend creating a child theme rather than edit this file directly. archive.php  – Display an archive with this file so visitors to your site can go way back when and read your Hello World! post. search.php  – Help your visitors search your site with this page. searchform.php  – Display a search form for your visitors with this template file. Defining a New Theme Your stylesheet doesn’t just contain styling information for your theme – it also holds details about your theme that are displayed in the  Appearance > Themes  section of your WordPress admin. The following is an example of the first few lines of the stylesheet for the default Twenty Sixteen theme: /* Theme Name: Twenty Sixteen Theme URI: https://wordpress.org/themes/twentysixteen/ Author: the WordPress team Author URI: https://wordpress.org/ Description: Twenty Sixteen is a modernized take on an ever-popular WordPress layout — the horizontal masthead with an optional right sidebar that works perfectly for blogs and websites. It has custom color options with beautiful default color schemes, a harmonious fluid grid using a mobile-first approach, and impeccable polish in every detail. Twenty Sixteen will make your WordPress look beautiful everywhere. Version: 1.2 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: black, blue, gray, red, white, yellow, dark, light, one-column, two-columns, right-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, flexible-header, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready Text Domain: twentysixteen This theme, like WordPress, is licensed under the GPL. Use it to make something cool, have fun, and share what you've learned with others. */ view raw twenty-sixteen-theme-definition  hosted with ❤ by  GitHub This information goes at the top of your  stylesheet.css  file. Template Include Tags Template include tags are used within one template file (for example index.php) to include (or call) the HTML and PHP found in another template file (for example header.php). While PHP has its own built-in include() statement to do this, these WordPress-specific tags make life much easier:  – Includes the header.php file  – Includes the sidebar.php file  – Includes the footer.php file  – Includes your comments Template Header/Bloginfo Tags These are functions you’ll find in your theme’s header.php file, though you’ll also find them in other theme files:  – The title of your site, or blog name  – Your site’s URL  – Link to your themes’s stylesheet file  – Location of your site’s theme file  – Displays the tagline of your blog as set in  Settings > General .  – Link to your site’s atom URL  – RSS feed URL for your site  – Pingback URL for your site  – WordPress version number  – The HTML version your site is using  – The root URL for your site  – Location of your stylesheet folder  – Title of a specific page Template Tags These tags can be used across all of your template files, such as index.php or page.php, making it easy to display specific information anywhere you want on your site:  – Displays the content of a post  – Displays the excerpt used in posts  – Title of the specific post  – Link of a specific post  – Category of a specific post  – Author of a specific post  – ID of a specific post  – Edit link for a post  – URL of the next page  – URL of the previous page  – Lists all links in blogroll  – Lists all pages  – List archive for the site  – Lists all categories  – Displays the built-in calendar  – Displays register link  – Displays login/logout link only to registered users The Loop The Loop is the default mechanism in WordPress for displaying all of your posts. Exactly how many posts are retrieved is determined by the number of posts you’ve chosen to display in the “Reading” settings in your WordPress dashboard. Within the Loop, WordPress loops through each post retrieved for the current page one at a time and formats it according to your theme’s instructions. You can use the Loop to do a lot of useful stuff, like: Display post titles and excerpts on your homepage; Display the content and comments on a single post; Display the content on an individual page using template tags; and Display data from custom post types and custom fields. view raw wordpress-loop  hosted with ❤ by  GitHub The Loop can display lots of different element for each post. Some of the most common template tags used in themes (according to the WordPress Theme Handbook) are: next_post_link()  – A link to the post published chronologically after the current post previous_post_link()  – A link to the post published chronologically before the current post the_category()  – The category or categories associated with the post or page being viewed the_author()  – The author of the post or page the_content()  – The main content for a post or page the_excerpt()  – The first 55 words of a post’s main content followed by an ellipsis (…) or read more link that goes to the full post. You may also use the “Excerpt” field of a post to customize the length of a particular excerpt. the_ID()  – The ID for the post or page the_meta()  – The custom fields associated with the post or page the_shortlink()  – A link to the page or post using the URL of the site and the ID of the post or page the_tags()  – The tag or tags associated with the post the_title()  – The title of the post or page the_time()  – The time or date for the post or page. This can be customized using standard php date function formatting. You can also use conditional tags, such as: is_home()  – Returns true if the current page is the homepage is_admin()  – Returns true if an administrator is logged in and visiting the site is_single()  – Returns true if the page is currently displaying a single post is_page()  – Returns true if the page is currently displaying a single page is_page_template()  – Can be used to determine if a page is using a specific template, for example:  is_page_template('about-page.php') is_category()  – Returns true if page or post has the specified category, for example  is_category('news') is_tag()  – Returns true if a page or post has the specified tag is_author()  – Returns true if a specific author is logged in and visiting the site is_search()  – Returns true if the current page is a search results page is_404()  – Returns true if the current page does not exist has_excerpt()  – Returns true if the post or page has an excerpt