WP Theme

WordPress Menu and Sidebars

Default Navigation Menu

<?php​ wp_nav_menu(); ​?>

Specific Navigation Menu

<?php​ wp_nav_menu( ​array​(​'menu'​ => My Navigation​' )); ?>

Category Based Navigation

<​ul​ ​id​=​"menu"​>
  <​li​ <?​php​ ​if​(​is_home​()) { ?> class="current-cat" ​<?php​ } ​?>​>
    <​a​ ​href​=​"<?php bloginfo('home'); ?>"​>Home</​a​>
  </​li​>
  ​<?php​ wp_list_categories(​'title_li=&orderby=id'​);​?>
</​ul​>

Page Based Navigation

<​ul​ ​id​=​"menu"​>
  <​li​ <?​php​ ​if​(​is_home​()) { ?> class="current-page-item" ​<?php​ } ​?>​>
    <​a​ ​href​=​"<?php bloginfo('home'); ?>"​>Home</​a​>
  </​li​>
​  <?php​ wp_list_pages(​'sort_column=menu_order&depth=1&title_li='​);?​ >
</​ul​>

Registering New Sidebar

Add the following code to your functions.php file to register a new sidebar.

add_action( ​'widgets_init'​, ​'theme_slug_widgets_init'​ );
function​ ​theme_slug_widgets_init​() {
  register_sidebar( ​array​(
​    'name'​ => __( ​'My Sidebar'​, ​'theme-slug'​ ),
​    'id'​ => ​'sidebar-1'​,
​    'description'​ => __( ​'Description',​ ​'theme-slug'​ ),
    'before_widget'​ => ​'<li id="%1$s" class="widget %2$s">'​,
    'after_widget'​ => ​'</li>'​,
    ​'before_title'​ => ​'<h2 class="widgettitle">'​,
​    'after_title'​ => ​'<h2>'​,
  ));
}

The Loop

<?php​ ​if​ ( have_posts() ) : ​?>
  <?php​ ​while​ ( have_posts() ) : the_post(); ​?>
    // Display post content 
  <?php​ ​endwhile​; ​?>
<?php​ ​endif​; ​?>

Useful Header Functions

site_url​()                              Get WordPress site url
wp_title​()                              Get page title
bloginfo​(​'name'​)                        Get blog name
bloginfo​(​'description'​)                 Get blog description
get_stylesheet_directory_uri​()          Get stylesheet directory URI
bloginfo​(​'atom_url'​)                    Get Atom feed URL
bloginfo​(​'rss2_url'​)                    RSS 2.0 URL

Include Tags

<?php​ get_header(); ​?>               Includes header.php and display its content
<?php​ get_sidebar(); ​?>              Includes sidebar.php
<?php​ get_footer(); ​?>               Includes the footer.php
<?php​ comments_template(); ​?>        Load specific template for comments

WordPress Template Tags

the_content​()                      Get post content
the_excerpt​()                      Get the post excerpt
the_title​()                        Get the title of the post
the_permalink​()                    Display post link
the_category​(​', '​)                 Display category of a post
the_author​()                       Show post author
the_ID​()                           Display post ID
edit_post_link​()                   Show Edit link for a post
next_post_link​(​'%link'​)            Display next page URL
previous_post_link​(​'%link'​)        Display previous page URL
get_links_list​()                   Retrieve blogroll links
wp_list_pages​()                    Retrieve all pages
wp_get_archives​()                  Retrieve archive for the site
wp_list_cats​()                     Retrieve all categories
get_calendar​()                     Show the built-in WordPress calendar
wp_register​()                      Show register link
wp_loginout​()                      Displays login or logout links (for registered users)

WordPress Template Anatomy

**header.php**

get_header​();
wp_nav_menu​(); ​// (registered in functions.php)
get_search_form​();

The Loop

index​.php
home​.php
archive​.php
page​.php
single​.php
comments_template​();
search​.php
author​.php
404​.php

**sidebar.php**

get_sidebar​()

**footer.php**

get_footer​()

Not Displayed

style​.css               // Theme style
functions​.php           // Theme functions
comments​.php            // Comments template

WordPress Template Files

style​.css          // Theme's main stylesheet file
index​.php          // Main template file
single​.php         ​// Single post file.
                   // ..Used for to display single posts only
archive​.php        // Archive or Category template file
searchform​.php     // Search form file 
search​.php         // Search results file
404​.php            // 404 error page file.
                   // ..Will be displayed if no page can be found.
comments​.php       // Comments template file
footer​.php         // Footer content file
header​.php         // Header content file
sidebar​.php        // Sidebar content file
page​.php           // Single page file. Used for pages only.

WordPress Theme Definition

/*
Theme Name: Twenty Seventeen
Theme URI: https://wordpress.org/themes/twentyseventeen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Seventeen brings your site to life with immersive featured images and subtle animations. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentyseventeen
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
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.
*/
Comments