Wordpress

Wordpress Cheat Sheet

WordPress is an Open source software that you can use to easily create a beautiful website, blog, or app.

WP-CLI

Update all plugins

wp plugin update --all

Update WordPress DB

wp core update-db

Update WordPress

wp core update

Optimize db

wp db optimize

Change WordPress post author

wp post update 6 --post_author=1

List WordPress users

wp db query ​"SELECT user_login, ID FROM wp_users;"

Create posts

wp post create
--post_status=publish
--post_title=​"Second Post"
--edit

Post update

wp post update 1
--post_title=​"Your New title..."

Edit post

wp post edit 1

List posts

wp post list

Activate theme

wp theme activate bootstrap-four

Install theme

wp theme install bootstrap-four

Search for new themes

wp theme search keyword

List installed themes

wp theme list

List plugins

wp plugin list

Install plugin

wp plugin install pluginname

Search plugin

wp plugin search yoast

Install WordPress

wp core install --url=​"your_domain_name"
--title=​"Your Blog Title"​ --admin_user=​"admin"
--admin_password=​"your_password"
--admin_email=​"your_email"

Generate wp-config.php file

wp core config --dbname=<dbname>
--dbuser=<dbuser> --dbpass=<dbpass>
--dbprefix=<dbprefix>

Download WordPress

wp core download

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.
*/