WordPress terminology

Term Description
Theme basic
/*
Theme Name: ICT for Today
Author: Rejaul Karim
Author URI: http://ict4today.com
Version: 1.0
*/
Show blog post / content of single post / content of page.
if (have_posts()) :
    while (have_posts()) : the_post();
    //Content
    endwhile;
else :
    echo 'No content found';
endif;
the_title() Prints the title of the blog post/page
the_content() Prints the content of the blog post/page
the_permalink() Prints the link of the blog post/page
get_header() Includes header.php
get_footer() Includes footer.php
bloginfo('charset') Prints character set of the website
bloginfo('name') Prints name of the website
wp_head() Includes CSS and others of plugin at the head section.
language_attributes() Includes language attribute.
body_class() Prints css class for body.
bloginfo('description') Prints the tagline/description of the website.
home_url() Returns home pages url.
wp_footer() Includes JavsScript links in footer.
get_stylesheet_uri() Retrieves stylesheet URI ie(http...../style.css).
Include style sheet and script
function learningWordPress_resources() {
    wp_enqueue_style('style', get_stylesheet_uri());
    wp_enqueue_script('my-script', get_template_directory_url().'/js/script.js', 
    NULL /*Dependency like jQuery*/, 1.0, true/*before closing body tag*/);
    
    wp_localize_script("my-script", "myData", array(
        'sky' => 'blue',
        'grass' => 'green',
        'nonce' => wp_create_nonce('wp_rest')
    )); 
}
add_action('wp_enqueue_scripts', 'learningWordPress_resources');
          
add_action('wp_enqueue_scripts', 'unique function name') Writtern in functions.php. Includes style.css at the header
Register two navigation menu locations.
register_nav_menus(array(
    'primary' => __( 'Primary Menu'),
    'footer' => __( 'Footer Menu'),
))
Primary menu position
$args = ['theme_location' => 'primary'];
wp_nav_menu($args);
li.current-menu-item Active navigation menu item class
is_page(id)/is_page(slug) Returns true or false depending on id
is_page(id)/is_page(slug) Returns true or false depending on id
Special Template
/*
Template Name: Special Layout
*/
wp_list_pages() Prints all the pages titles as unordered list
Prints child pages
$args = array('child_of' => write_function_to_get_top_ancestor_id, 'title_li' => '');
wp_list_pages($args);
get_the_title(id) Returns the title of a page of id
get_the_permalink(id) Returns the permalink of a page of id
li.current-page-item Active page class. Used in child page of a menu
li.current-page-ancestor Active page's parent's class. Used in menu page
the_time('F j, Y g:i a') Prints date and time within a loop
the_author() Prints the name of the author
get_author_posts_url(get_the_author_meta('ID')) Returns author link
get_the_category() Returns all the categories of this post. Consider, each item is $category. Where $category->term_id returns id and $category->cat_name returns name.
Archive
if ( is_category() ) {
    single_cat_title();
} elseif ( is_tag() ) {
    single_tag_title();
} elseif ( is_author() ) {
    the_post();
    echo 'Author Archives: ' . get_the_author();
    rewind_posts();
} elseif ( is_day() ) {
    echo 'Daily Archives: ' . get_the_date();
} elseif ( is_month() ) {
    echo 'Monthly Archives: ' . get_the_date('F Y');
} elseif ( is_year() ) {
    echo 'Yearly Archives: ' . get_the_date('Y');
} else {
    echo 'Archives:';
}
the_excerpt()/get_the_excerpt() Used to get excerpt content
Featured Image support
add_theme_support('post-thumbnails');
add_image_size('small-thumbnail', 180, 120, true);
add_image_size('square-thumbnail', 80, 80, true);
add_image_size('banner-image', 920, 210, array('left', 'top'));
the_post_thumbnail('small-thumbnail') / the_post_thumbnail('banner-image') Prints the html code for thumbnail image
get_search_form() Prints the html code for search form
the_search_query() Prints the search query
get_template_part('filename') / get_template_part('filename', 'part') Includes filename.php / filename-part.php
get_template_part('content', get_post_format()) If the post has a format ie. aside, then content-aside.php will be included otherwise content.php. This function is used in blog page to design each post differently.
Add a widget Location or sidebar In functions.php
function ourWidgetsInit() {
	register_sidebar( array(
		'name' => 'Sidebar',
		'id' => 'sidebar1',
		'before_widget' => '<div class="widget-item">',
		'after_widget' => '</div>',
		'before_title' => '<h2 class="widget-title">',
		'after_title' => '</h2>',
	));
}
add_action('widgets_init', 'ourWidgetsInit');
In sidebar.php
if (is_active_sidebar('sidebar1')) :
    dynamic_sidebar('sidebar1');
endif;
WP_Query() to get the post from category 1 In functions.php
$posts = new WP_Query('cat=1&posts_per_page=2');
if ($posts->have_posts()) :
    while ($posts->have_posts()) : $posts->the_post();
        get_template_part('content', get_post_format());
    endwhile;
else :
    echo 'No content found';
endif;
Customize color picker for link In functions.php
function learningWordPress_customize_register( $wp_customize ) {
    $wp_customize->add_section('lwp_standard_colors', array(
        'title' => __('Standard Colors', 'LearningWordPress'),
        'priority' => 30,
    ));
    $wp_customize->add_setting('lwp_link_color', array(
        'default' => '#006ec3',
        'transport' => 'refresh',
    ));
    $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'lwp_link_color_control', array(
        'label' => __('Link Color', 'LearningWordPress'),
        'section' => 'lwp_standard_colors',
        'settings' => 'lwp_link_color',
    ) ) );
}
add_action('customize_register', 'learningWordPress_customize_register');
Then add the following code to output customize CSS
<?php
function learningWordPress_customize_css() { ?>
    <style type="text/css">
        a {
            color: <?php echo get_theme_mod('lwp_link_color'); ?>;
        }
    </style>
<?php }
add_action('wp_head', 'learningWordPress_customize_css'); ?>
WP_Customize_Color_Control()
  • WP_Customize_Control() => Text input
  • WP_Customize_Control() with type="textarea" => textarea input
  • WP_Customize_Control() with type="select" choices = array() and => Dropdown input where value from given array.
  • WP_Customize_Control() with type="dropdown-pages" => dropdown of pages where the page id will be stored.
  • WP_Customize_Color_Control() => Color selector input
  • WP_Customize_Cropped_Image_Control() => Image input where image id will be stored
wp_get_attachment_url(($id) Returns attachment URL from attachment ID
wpautop($text) Replace single new line with br and double new line with p. Outputs html. Used to show the text of textarea of dashboard
get_avatar($id) Returns avatar
WordPress pagination
  • Prints previous_posts_link();
  • Prints next_posts_link();
  • returns paginate_links();
REST API endpoints

https://wordpress.ict4today.com/wp-json/wp/v2/posts?per_page=2&categories=3

https://wordpress.ict4today.com/wp-json/wp/v2/pages

posts, pages, comments, users, media etc

current_user_can('administrator'); Check if the current user is logged in an administrator
REST API
add_action( 'rest_api_init', function () {
	//wp-json/wp/v1/hello
	register_rest_route('wp/v2', '/hello', array(
		'methods' => 'GET',
		'callback' => 'my_custom_route_callback',
	));
});
          
WordPress REST API Basic Auth
Create Password > wp-admin>Users>Profile
Basic Auth
WordPress Plugin Basics Basic Plugin development
WooCommerce DB info WooCommerce products and orders are stored in wp_posts table. For product post type is product and for Order shop_order. Taxonomy (in wp_term_taxonomy) for product category is product_cat and for tags product_tag. So the actual product category names are stored in wp_terms table.
© copyright-2020 Rejaul