Module 2: WordPress — Lecture Notes Web Technologies
LECTURE NOTES
Web Technologies
Module 2: WordPress
Prepared for classroom instruction — B.E./[Link], Information Technology
Faculty of Computer Science & Technology
Instructor: ______________________________
Academic Year: __________
Page 1 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Table of Contents
TOC \h \o "1-3"HYPERLINK "" \l "_Toc233964987"Table of Contents................ PAGEREF _Toc233964987 \h 1
Module 2: WordPress — Overview..................................................................................................... 5
Learning Objectives.......................................................................................................................... 5
Suggested Session Plan.................................................................................................................... 5
3.1 Overview of WordPress................................................................................................................. 7
3.1.1 History and Evolution of WordPress....................................................................................... 7
3.1.2 [Link] vs. [Link]......................................................................................... 7
3.1.3 Installation and Setup Process................................................................................................ 8
3.2 WordPress Dashboard and Settings............................................................................................... 9
3.2.1 Tour of the WordPress Dashboard.......................................................................................... 9
3.2.2 Configuring General Settings................................................................................................... 9
3.2.3 Customizing Site Title, Tagline, and URL Structure.................................................................. 9
3.2.4 Reading, Writing, Discussion, and Media Settings................................................................. 10
Reading Settings......................................................................................................................... 10
Writing Settings.......................................................................................................................... 10
Discussion Settings..................................................................................................................... 10
Media Settings............................................................................................................................ 10
3.3 Posts and Pages........................................................................................................................... 12
3.3.1 Creating and Managing Posts................................................................................................ 12
3.3.2 Formatting Text and Adding Media to Posts......................................................................... 12
3.3.3 Categories and Tags.............................................................................................................. 12
3.3.4 Understanding the Difference Between Posts and Pages..................................................... 13
3.4 WordPress Themes...................................................................................................................... 14
3.4.1 Introduction to WordPress Themes...................................................................................... 14
3.4.2 Installing and Activating Themes........................................................................................... 14
3.4.3 Customizing Themes Using the WordPress Customizer........................................................ 14
3.4.4 Exploring Premium Themes and Child Themes..................................................................... 14
Premium Themes....................................................................................................................... 14
Child Themes.............................................................................................................................. 14
3.5 WordPress Plugins....................................................................................................................... 16
3.5.1 What Are Plugins?................................................................................................................. 16
3.5.2 Installing and Activating Plugins............................................................................................ 16
Page 2 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.5.3 Popular Plugins for Various Functionalities........................................................................... 16
3.5.4 Customizing Plugins and Understanding Conflicts................................................................ 16
3.6 Widgets and Menus..................................................................................................................... 18
3.6.1 Adding Widgets to Sidebar and Footer................................................................................. 18
3.6.2 Creating Custom Menus........................................................................................................ 18
3.6.3 Managing Menu Locations.................................................................................................... 18
3.6.4 Responsive Menu Design...................................................................................................... 18
3.7 Custom Post Types and Taxonomies............................................................................................ 20
3.7.1 Creating Custom Post Types (CPTs)....................................................................................... 20
3.7.2 Registering Custom Taxonomies........................................................................................... 20
3.7.3 Using Custom Post Types for Specific Content Needs........................................................... 20
3.7.4 Advanced Custom Post Type Settings................................................................................... 21
3.8 User Management and Permissions............................................................................................ 22
3.8.1 Roles and Capabilities in WordPress..................................................................................... 22
3.8.2 Adding and Managing Users................................................................................................. 22
3.8.3 Creating User Accounts with Different Permissions.............................................................. 22
3.8.4 User Profile Settings and Options.......................................................................................... 22
3.9 Search Engine Optimization (SEO)............................................................................................... 24
3.9.1 Basics of SEO for WordPress................................................................................................. 24
3.9.2 Using SEO Plugins like Yoast SEO........................................................................................... 24
3.9.3 Optimizing Content for Search Engines................................................................................. 24
3.9.4 SEO Best Practices for WordPress Websites......................................................................... 24
3.10 Security and Backup................................................................................................................... 26
3.10.1 Importance of Website Security.......................................................................................... 26
3.10.2 Securing a WordPress Installation....................................................................................... 26
3.10.3 Backup Solutions for WordPress Sites................................................................................. 26
3.10.4 Implementing Security Plugins and Techniques.................................................................. 26
3.11 E-commerce with WordPress.................................................................................................... 28
3.11.1 Introduction to E-commerce Plugins (e.g., WooCommerce)............................................... 28
3.11.2 Setting Up an Online Store.................................................................................................. 28
3.11.3 Managing Products and Orders........................................................................................... 28
3.11.4 Payment Gateway Integration............................................................................................ 28
3.12 Performance Optimization......................................................................................................... 30
3.12.1 Speeding Up WordPress Websites...................................................................................... 30
3.12.2 Caching Techniques............................................................................................................. 30
Page 3 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.12.3 Image Optimization............................................................................................................. 30
3.12.4 Minification and Optimization Plugins................................................................................ 30
3.13 Multisite and Multilingual Websites.......................................................................................... 32
3.13.1 Setting Up WordPress Multisite.......................................................................................... 32
3.13.2 Managing Multiple Websites from One WordPress Installation......................................... 32
3.13.3 Creating a Multilingual Website Using Plugins.................................................................... 32
3.13.4 Best Practices for Managing Multisite and Multilingual Sites............................................. 32
3.14 Advanced Customization........................................................................................................... 34
3.14.1 Customizing WordPress Themes with Code........................................................................ 34
3.14.2 Creating Custom Page Templates....................................................................................... 34
3.14.3 Using Child Themes for Advanced Customization............................................................... 34
3.14.4 Customizing Plugins and Functionality................................................................................ 34
3.15 Troubleshooting and Maintenance............................................................................................ 36
3.15.1 Common WordPress Issues and Solutions.......................................................................... 36
3.15.2 Debugging Techniques........................................................................................................ 36
3.15.3 Updating WordPress Core, Themes, and Plugins................................................................ 36
3.15.4 Best Practices for Ongoing Maintenance............................................................................ 36
Module Summary.............................................................................................................................. 38
Textbooks and Reference Material.................................................................................................... 39
Text Books...................................................................................................................................... 39
Reference Books............................................................................................................................ 39
Page 4 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Module 2: WordPress — Overview
This module introduces WordPress, the world's most widely used content management system
(CMS), and builds student competence from installation through to advanced customization,
security, e-commerce, and performance optimization. By the end of this module, students should
be able to independently plan, build, secure, and maintain a WordPress-powered website.
Learning Objectives
On completion of this module, students will be able to:
● Explain the history, evolution, and architecture of WordPress, and distinguish [Link] from
[Link]
● Install WordPress and navigate its administration dashboard confidently
● Configure site-wide settings and manage posts, pages, categories, and tags
● Install, activate, and customize themes and plugins, including the use of child themes
● Configure widgets and navigation menus for responsive site design
● Create custom post types and taxonomies for specialized content needs
● Manage users, roles, and capabilities appropriate to a multi-author website
● Apply on-page SEO techniques and configure an SEO plugin such as Yoast
● Identify security risks in WordPress and implement backup and hardening measures
● Set up a basic e-commerce store using WooCommerce
● Apply performance optimization techniques including caching and image optimization
● Describe WordPress Multisite and multilingual site management
● Perform code-level customization safely using child themes and custom templates
● Diagnose and resolve common WordPress issues using debugging tools
Suggested Session Plan
Session Topics Suggested
Duration
1 Overview of WordPress; [Link] vs .org; Installation 2 hours
2 Dashboard tour; General/Reading/Writing/Discussion/Media settings 2 hours
3 Posts and Pages; formatting content; categories and tags 2 hours
4 Themes: installing, Customizer, child themes 2 hours
5 Plugins: installation, popular plugins, conflicts 1.5 hours
6 Widgets and Menus; responsive navigation 1.5 hours
7 Custom Post Types and Taxonomies (with lab) 2 hours
8 User Management and Permissions 1 hour
9 SEO fundamentals and Yoast SEO 1.5 hours
10 Security and Backup strategy 1.5 hours
11 E-commerce with WooCommerce (with lab) 2 hours
12 Performance Optimization: caching, images, minification 1.5 hours
13 Multisite and Multilingual websites 1 hour
14 Advanced Customization: code, templates, child themes 1.5 hours
Page 5 of 39
Module 2: WordPress — Lecture Notes Web Technologies
15 Troubleshooting and Maintenance; Module review 1.5 hours
Page 6 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.1 Overview of WordPress
3.1.1 History and Evolution of WordPress
WordPress began in 2003 as a fork of an earlier blogging tool called b2/cafelog, created by Matt
Mullenweg and Mike Little. What started as a simple blogging platform has evolved into a full-
featured Content Management System (CMS) capable of powering blogs, business websites, online
stores, portfolios, and even web applications.
Key milestones instructors may highlight in class:
● 2003 — WordPress 1.0 released, forked from b2/cafelog
● 2004 — Plugin architecture introduced, enabling third-party extensibility
● 2005 — Theme system (Theme Templates) introduced, separating design from content
● 2010 — Custom Post Types and Custom Taxonomies introduced, turning WordPress into a
general-purpose CMS
● 2015 — REST API merged into core, enabling WordPress to serve as a backend for
decoupled/headless applications
● 2018 — Gutenberg (block editor) replaces the classic TinyMCE editor in WordPress 5.0
● 2022 onward — Full Site Editing (FSE) and block-based themes extend block editing to
entire site layouts
Today, WordPress powers a substantial share of all websites on the internet — instructors may
wish to display current market-share statistics from a live source such as W3Techs during the
lecture, since this figure changes over time.
3.1.2 [Link] vs. [Link]
This distinction is one of the most common sources of confusion for beginners and is worth
emphasizing carefully in class.
Aspect [Link] [Link]
What it is A hosted service — WordPress is The open-source software itself, which
installed and managed for you you self-host
Hosting Provided by Automattic (the company You choose and pay for your own web
behind [Link]) host
Cost Free tier available; paid plans for Software is free, but hosting/domain
custom domains, plugins, storage costs apply
Plugin/theme freedom Restricted on free/lower plans Full freedom to install any plugin or
theme
Monetization/ads Restricted unless on higher-tier plans Full control over ads and monetization
Technical control Limited server/code access Full control — FTP, database, custom
code
Best for Beginners, hobby blogs, quick setup Businesses, developers, custom projects
Teaching tip: use the analogy of renting an apartment ([Link] — someone else owns and
maintains the building) versus owning a house on land you purchased ([Link] — you are
Page 7 of 39
Module 2: WordPress — Lecture Notes Web Technologies
responsible for everything, but have complete freedom to modify it). This course focuses on
[Link], the self-hosted software, since it is what most real-world business and
development work involves.
3.1.3 Installation and Setup Process
The standard installation process (often called the "five-minute install") involves:
● Verifying server requirements — PHP and MySQL/MariaDB versions supported by the
current WordPress release
● Downloading the WordPress package from [Link]/download/
● Creating a database and a database user with full privileges on that database
● Uploading WordPress files to the server via FTP or a hosting file manager (or extracting
directly if using shell access)
● Configuring [Link] with database credentials (WordPress can generate this
automatically via the [Link] screen)
● Running the install script through a browser, which prompts for site title, admin username,
password, and email address
● Logging into the new dashboard at /wp-admin
Many hosting providers now offer one-click WordPress installers (e.g. via Softaculous or a custom
control panel), which automate the database creation and file upload steps. For classroom
demonstration purposes, using a one-click installer or a local development tool (e.g. Local, XAMPP,
or wp-env) is often faster than a full manual install and allows more time for exploring the
dashboard.
KEY TERMS
CMS Content Management System — software that allows users to create and
manage digital content without needing to code each page manually.
Open-source Software whose source code is publicly available to view, use, modify, and
distribute.
Self-hosted Software installed and run on infrastructure the owner controls, rather than a
third-party's managed service.
[Link] The core WordPress configuration file containing database connection details
and other site-level settings.
Review Questions — Section 3.1
1. Trace the evolution of WordPress from a blogging tool to a full CMS, citing at least three major
milestones.
2. Differentiate between [Link] and [Link] in terms of hosting, cost, and control.
Which would you recommend for a small business setting up its first website, and why?
3. List the steps involved in a manual WordPress installation, and explain the purpose of wp-
[Link].
4. What server-side software must be present before WordPress can be installed?
Page 8 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.2 WordPress Dashboard and Settings
3.2.1 Tour of the WordPress Dashboard
After logging in, users land on the Dashboard (wp-admin). Instructors should demonstrate each of
the following areas live where possible:
● Admin Toolbar (top bar) — quick links to view the live site, comments, and "+ New"
shortcuts
● Dashboard Home — "At a Glance" widget, Activity feed, Quick Draft, and WordPress news
● Posts — for managing blog content, categories, and tags
● Media — the Media Library of uploaded images, video, and documents
● Pages — for static, standalone content
● Comments — for moderating reader feedback
● Appearance — themes, widgets, menus, and (in block themes) the Site Editor
● Plugins — install, activate, deactivate, and update plugins
● Users — manage accounts and roles
● Tools — import/export utilities and Site Health diagnostics
● Settings — General, Writing, Reading, Discussion, Media, Permalinks, and Privacy
3.2.2 Configuring General Settings
Settings → General controls the most fundamental, site-wide options:
● Site Title and Tagline — identity shown in browser tabs and search results
● WordPress Address (URL) and Site Address (URL)
● Administration Email Address
● Membership and New User Default Role
● Timezone, Date Format, Time Format, and the day the week starts on
3.2.3 Customizing Site Title, Tagline, and URL Structure
Title and tagline are edited under Settings → General (or live, via Appearance → Customize on
classic themes). URL structure, however, is configured separately under Settings → Permalinks — a
distinction worth emphasizing, since students often look for it under General.
Common permalink structures to demonstrate:
● Plain — ?p=123 (not recommended: poor readability and weak for SEO)
● Day and name — /2026/07/02/sample-post/
● Month and name — /2026/07/sample-post/
● Post name — /sample-post/ (most widely used; clean and SEO-friendly)
Page 9 of 39
Module 2: WordPress — Lecture Notes Web Technologies
● Custom Structure — built using tags such as %postname%, %category%, %year%
Emphasize to students that changing permalink structure on a live site can break existing inbound
links and search rankings unless redirects are properly configured — this decision should be made
early in a project.
3.2.4 Reading, Writing, Discussion, and Media Settings
Reading Settings
● Homepage display: "Your latest posts" (blog-style) vs. "A static page" (business/portfolio
sites)
● Number of posts shown per page
● Syndication (RSS) feed settings — number of items and full text vs. summary
● Search engine visibility checkbox (a request, not a guaranteed block, to search engines)
Writing Settings
● Default Post Category and Default Post Format
● Post via e-mail (legacy feature for publishing by sending an email)
● Update Services (ping lists notified on publish)
Discussion Settings
● Default article settings for pingbacks/trackbacks and comment permissions
● Comment moderation rules (name/email requirements, nesting depth, pagination)
● Email notification preferences for new/held comments
● Comment blacklisting via disallowed keys
● Avatar display and rating settings
Media Settings
● Default pixel dimensions for Thumbnail, Medium, and Large image sizes
● Option to organize uploads into month/year-based folders
KEY TERMS
Permalink The permanent URL structure WordPress uses for posts, pages, and archives.
Pingback/Trackback A notification mechanism alerting one site that another has linked to it.
Media Library WordPress's centralized repository for all uploaded images, video, audio, and
documents.
Review Questions — Section 3.2
1. List and briefly describe the main sections of the WordPress admin sidebar.
2. Where in the dashboard would you change your site's URL structure, and why is this decision
important to make early in a project?
3. Compare the "Your latest posts" and "A static page" homepage options under Reading Settings
— when would each be appropriate?
Page 10 of 39
Module 2: WordPress — Lecture Notes Web Technologies
4. What is the difference between a pingback and a regular comment?
Page 11 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.3 Posts and Pages
3.3.1 Creating and Managing Posts
The standard workflow for creating a post:
● Navigate to Posts → Add New
● Enter a title (WordPress auto-generates an editable URL slug from it)
● Compose content using the block editor
● Assign Category and Tags in the right-hand panel
● Set a Featured Image
● Choose Visibility (Public, Private, Password Protected) and a Publish date (immediate or
scheduled)
● Publish, Save Draft, or Preview
The Posts list screen supports bulk actions (trash, category assignment) and Quick Edit for fast
inline changes without opening the full editor — useful to demonstrate for managing a large
volume of content efficiently.
3.3.2 Formatting Text and Adding Media to Posts
WordPress's block editor (Gutenberg) treats every piece of content — a paragraph, heading, image,
or embed — as an individual "block."
● Text blocks: Paragraph, Heading (H2–H6), List, Quote, Table — inserted via the "+" inserter
or by typing "/" followed by a block name
● Inline formatting: bold, italic, links, inline code, and strikethrough via the selection toolbar
● Image block: supports Media Library selection, direct upload, captions, alt text, and
alignment — alt text should be emphasized for accessibility and SEO
● Gallery block: multiple images in a grid layout
● Video/Audio blocks: direct upload or embedding
● Embed block: auto-embeds supported URLs (e.g. YouTube)
● Layout blocks: Columns, Group, and Cover for advanced page composition
Blocks can be reordered by drag-and-drop, and each exposes its own settings panel in the right-
hand sidebar when selected.
3.3.3 Categories and Tags
Aspect Categories Tags
Structure Hierarchical (can have sub-categories) Non-hierarchical (flat)
Requirement At least one required (defaults to Optional
"Uncategorized")
Purpose Broad grouping — like a table of Specific keywords — like an index
contents
Typical count per post One or a small few As many as relevant
Page 12 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Both categories and tags generate their own archive pages (e.g. /category/travel/ or /tag/italy/),
allowing visitors to browse related content.
3.3.4 Understanding the Difference Between Posts and Pages
Aspect Posts Pages
Purpose Blog content, time-based Static, standalone content
Organization Categories and tags Hierarchical (parent/child)
Appears in RSS feed, blog archive, chronological Not included in feeds
listing
Typical use News, articles, updates About, Contact, Homepage, Services
Default sort order Newest first, by date No inherent order unless set manually
Rule of thumb for students: if content is time-sensitive and part of an ongoing series, use a Post; if
it is evergreen and stands alone, use a Page.
KEY TERMS
Block editor (Gutenberg) WordPress's default content editor, in which content is composed of
individually configurable "blocks."
Featured Image A representative image associated with a post or page, often used in previews
and archive listings.
Alt text A text description of an image, read by screen readers and used by search
engines, important for accessibility and SEO.
Review Questions — Section 3.3
1. Outline the steps to create and publish a new blog post in WordPress.
2. Explain the role of alt text on an image block and identify two reasons it matters.
3. Differentiate categories from tags using an example content taxonomy of your choice.
4. A client wants an "About Us" section and a "News" section on their site. Which WordPress
content type should be used for each, and why?
Page 13 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.4 WordPress Themes
3.4.1 Introduction to WordPress Themes
A theme governs a site's visual presentation — layout, colours, typography — while leaving content
untouched. This separation of content and presentation is a foundational CMS principle: content
stored in the database can be re-skinned by switching themes without any data loss.
3.4.2 Installing and Activating Themes
● Navigate to Appearance → Themes → Add New
● Search the official [Link] theme directory, or click Upload Theme to install a .zip
package (for premium/third-party themes)
● Click Install, then Activate
3.4.3 Customizing Themes Using the WordPress Customizer
Appearance → Customize opens a live-preview editor for adjusting site identity (logo, title, tagline,
favicon), colours and backgrounds, menus, widgets, homepage settings, and small custom CSS
tweaks.
Newer "block themes" replace much of the Customizer with the Site Editor (Appearance → Editor),
enabling full-site editing of headers, footers, and templates using the same block system as post
content. Instructors should identify which type of theme is being demonstrated, since the
customization workflow differs.
3.4.4 Exploring Premium Themes and Child Themes
Premium Themes
Paid themes (via marketplaces such as ThemeForest, or vendors like Astra and Divi) typically add
more design options, dedicated support, and page-builder integration compared with free
directory themes.
Child Themes
A child theme inherits the styling and functionality of a parent theme while allowing safe overrides.
This is the recommended method for customizing a theme with code, because edits made directly
to a parent theme's files are lost when that theme updates, whereas a child theme's files remain
untouched.
A minimal child theme requires only two files:
/* [Link] */
/*
Theme Name: Twenty Twenty-Five Child
Page 14 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Template: twentytwentyfive
*/
<?php
// [Link]
function enqueue_child_styles() {
wp_enqueue_style('parent-style', get_template_directory_uri() .
'/[Link]');
}
add_action('wp_enqueue_scripts', 'enqueue_child_styles');
KEY TERMS
Theme A collection of template files and stylesheets that determine a WordPress
site's appearance.
Child theme A theme that inherits from and safely extends a parent theme without
modifying its original files.
Customizer WordPress's live-preview interface for adjusting theme settings such as
colours, menus, and widgets.
Review Questions — Section 3.4
1. Why does WordPress separate themes (presentation) from content stored in the database?
What practical benefit does this provide?
2. Describe the steps to install a theme from a .zip file.
3. Explain why a child theme is recommended over editing a parent theme's files directly.
4. What two files, at minimum, are required to create a functional child theme?
Page 15 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.5 WordPress Plugins
3.5.1 What Are Plugins?
Plugins are packages of PHP code that extend WordPress's functionality — contact forms, SEO
tools, galleries, e-commerce, caching, and security — without altering WordPress core files. This
extensibility, alongside themes, is central to why WordPress can serve such a broad range of
website types from a single codebase.
3.5.2 Installing and Activating Plugins
● Navigate to Plugins → Add New
● Search the plugin directory, or Upload Plugin to install a .zip file
● Click Install Now, then Activate
● Many plugins add their own settings screen, often under Settings or as a new top-level
menu item
3.5.3 Popular Plugins for Various Functionalities
Category Examples
SEO Yoast SEO, Rank Math
Page building Elementor, WPBakery, Beaver Builder
Forms WPForms, Contact Form 7, Gravity Forms
Security Wordfence, Sucuri
Backup UpdraftPlus, Duplicator
Caching / performance WP Rocket, W3 Total Cache, WP Super Cache
E-commerce WooCommerce
Analytics / marketing MonsterInsights, Mailchimp integrations
3.5.4 Customizing Plugins and Understanding Conflicts
Most plugins expose a settings screen for basic customization. Deeper changes are made through
hooks (actions and filters) placed in a child theme's [Link] or a small custom "site-specific"
plugin. Editing a plugin's core files directly should be avoided, since any update will overwrite the
changes.
Plugin conflicts typically arise when two plugins:
● Load the same JavaScript/CSS library in incompatible versions
● Attempt to control the same functionality (e.g. two SEO plugins, or two caching plugins
active simultaneously)
● Contain incompatible custom code (less common, but possible on heavily customized sites)
Recommended conflict-diagnosis procedure to teach students:
● Deactivate all plugins, then reactivate them one at a time to isolate the source
Page 16 of 39
Module 2: WordPress — Lecture Notes Web Technologies
● Check the plugin's support forum or changelog for known compatibility issues
● Ensure WordPress core, the active theme, and all plugins are fully updated before
troubleshooting further
KEY TERMS
Plugin A packaged extension that adds functionality to WordPress without modifying
its core files.
Hook (action/filter) A mechanism allowing plugin or theme code to run at specific points in
WordPress's execution without editing core files.
Site-specific plugin A minimal custom plugin used to hold small code snippets independent of any
particular theme.
Review Questions — Section 3.5
1. Define a WordPress plugin and explain how it differs from a theme.
2. List the recommended steps for diagnosing a plugin conflict.
3. Why should a developer avoid editing a plugin's core files directly, even for a small
customization?
4. Give one example each of a plugin used for SEO, for security, and for caching.
Page 17 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.6 Widgets and Menus
3.6.1 Adding Widgets to Sidebar and Footer
Widgets are small, self-contained content or functionality blocks — a search bar, recent posts list,
categories list, or custom text/HTML — placed into theme-defined display areas such as sidebars or
footers.
● Accessed via Appearance → Widgets
● In block themes, widgets are managed as blocks within a dedicated Widgets screen, or
directly through the Site Editor
● A widget/block is dragged into its target area (e.g. "Sidebar" or "Footer 1") and then
configured through its own settings panel
3.6.2 Creating Custom Menus
Under Appearance → Menus, an instructor should demonstrate:
● Creating a new menu and naming it
● Adding items from Pages, Posts, Categories, Custom Links, or Tags
● Drag-and-drop reordering of menu items
● Indenting an item beneath another to create a dropdown/sub-menu
3.6.3 Managing Menu Locations
Themes register specific menu locations (e.g. "Primary Menu," "Footer Menu," "Mobile Menu"). On
the Menus screen, a checkbox assigns the custom menu just built to one of the theme's registered
locations. A theme may support anywhere from one to several locations, depending on its design.
3.6.4 Responsive Menu Design
Most modern themes automatically convert a horizontal menu into a collapsible "hamburger" icon
on smaller screens; this behaviour is generally built into the theme's CSS and JavaScript rather than
being something configured manually through the dashboard. For students building custom menus
with code, this typically involves CSS media queries paired with a small amount of JavaScript to
toggle the mobile navigation's visibility.
/* Example: basic responsive menu toggle logic */
@media (max-width: 768px) {
.primary-menu { display: none; }
.menu-toggle { display: block; }
}
[Link]('.menu-toggle').addEventListener('click', () =>
{
Page 18 of 39
Module 2: WordPress — Lecture Notes Web Technologies
[Link]('.primary-menu').[Link]('is-open');
});
KEY TERMS
Widget A modular content block placed into a theme-defined display area, such as a
sidebar or footer.
Menu location A named navigation slot registered by a theme (e.g. Primary Menu) into
which a custom menu can be assigned.
Responsive design A design approach in which layout adapts to different screen sizes, commonly
via CSS media queries.
Review Questions — Section 3.6
1. What is the difference between a widget and a menu in WordPress?
2. Describe the steps to create a dropdown sub-menu under Appearance → Menus.
3. Why might a theme register multiple menu locations, and how does an administrator assign a
menu to one?
4. Explain, at a conceptual level, how a responsive "hamburger" menu is typically implemented.
Page 19 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.7 Custom Post Types and Taxonomies
3.7.1 Creating Custom Post Types (CPTs)
By default, WordPress ships with two content types — Posts and Pages. A Custom Post Type allows
a developer to register additional structured content types, such as "Products," "Testimonials," or
"Events," each with its own admin listing and editing screen.
A CPT is registered using register_post_type(), typically inside a theme's [Link] or a custom
plugin:
<?php
function create_custom_post_type() {
register_post_type('testimonial', [
'labels' => [
'name' => 'Testimonials',
'singular_name' => 'Testimonial',
],
'public' => true,
'has_archive' => true,
'supports' => ['title', 'editor', 'thumbnail'],
'menu_icon' => 'dashicons-testimonial',
]);
}
add_action('init', 'create_custom_post_type');
Students who prefer not to write code can achieve the same result using the Custom Post Type UI
plugin, which exposes CPT registration as a dashboard form.
3.7.2 Registering Custom Taxonomies
A taxonomy is a classification system — like categories or tags, but custom. For example, a "Movie"
CPT might use a "Genre" taxonomy:
<?php
function create_custom_taxonomy() {
register_taxonomy('genre', 'movie', [
'label' => 'Genre',
'hierarchical' => true,
]);
}
add_action('init', 'create_custom_taxonomy');
3.7.3 Using Custom Post Types for Specific Content Needs
Common real-world use cases to discuss with students:
● Portfolios (a "Project" CPT with a "Skill" or "Client" taxonomy)
● Real estate listings (a "Property" CPT with "Location" and "Property Type" taxonomies)
Page 20 of 39
Module 2: WordPress — Lecture Notes Web Technologies
● Recipes (a "Recipe" CPT with a "Cuisine" taxonomy)
● Team members (a "Team Member" CPT with a "Department" taxonomy)
● Events and calendars (an "Event" CPT, often paired with a date-based custom field)
3.7.4 Advanced Custom Post Type Settings
● supports — controls which editor features appear (title, editor, thumbnail, excerpt, custom
fields, comments)
● rewrite — customizes the CPT's URL slug
● capability_type — ties the CPT's permissions to custom roles rather than the default post
capabilities
● show_in_rest — enables block editor and REST API support, required for Gutenberg
compatibility and headless use cases
CPTs are frequently paired with custom fields — most commonly through the Advanced Custom
Fields (ACF) plugin — to attach structured data such as price, location, or event date to each entry,
without requiring bespoke database tables.
KEY TERMS
Custom Post Type (CPT) A content type registered in addition to WordPress's default Posts and Pages,
used for structured, specialized content.
Taxonomy A classification system used to group content, either built-in (categories, tags)
or custom (e.g. Genre, Location).
Custom field A piece of structured metadata attached to a post, page, or CPT entry, often
managed via a plugin such as ACF.
Review Questions — Section 3.7
1. Explain why a developer might register a Custom Post Type instead of using the default Post type
for something like a property listing.
2. Write the minimal register_post_type() call needed to create a public CPT called 'event' with
archive support.
3. What is the purpose of the show_in_rest argument when registering a CPT?
4. Describe how a custom taxonomy differs from a default category, using an example of your own.
Page 21 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.8 User Management and Permissions
3.8.1 Roles and Capabilities in WordPress
WordPress ships with five default roles on a single-site installation, each bundling a specific set of
capabilities:
Role Typical Abilities
Administrator Full control — settings, plugins, themes, and users
Editor Publish, edit, and delete any post or page
Author Publish, edit, and delete their own posts only
Contributor Write and edit their own posts, but cannot publish
Subscriber Manage their own profile; read content only
Plugins such as Members or User Role Editor allow instructors to demonstrate creating custom
roles or fine-tuning individual capabilities beyond the defaults.
3.8.2 Adding and Managing Users
● Users → Add New: enter username, email, and assign a role; WordPress emails a password-
setup link to the new user (or a password can be set manually)
● Users → All Users: edit profiles, change roles, or delete accounts; supports bulk actions
3.8.3 Creating User Accounts with Different Permissions
Roles should be assigned according to function rather than convenience. For example, a client
managing their own content should typically receive Editor access (not Administrator), so they can
manage posts and pages without altering settings or plugins. Writers should generally receive
Author or Contributor access, depending on whether they are trusted to publish directly.
3.8.4 User Profile Settings and Options
Under Users → Profile (or "Your Profile"), each user can configure: display name and biographical
info, profile picture (via Gravatar), admin colour scheme, keyboard shortcuts for comment
moderation, admin toolbar visibility, and password changes.
KEY TERMS
Role A named collection of capabilities assigned to a user, determining what
actions they may perform.
Capability A specific permission (e.g. publish_posts, edit_users) that can be granted to
or withheld from a role.
Gravatar A globally recognized avatar service that WordPress uses by default to display
user profile pictures based on email address.
Page 22 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Review Questions — Section 3.8
1. List WordPress's five default roles in order of decreasing privilege, and summarize what each can
do.
2. A client wants to write and manage their own blog posts but should not be able to install plugins
or change site settings. Which role should be assigned, and why?
3. What is the difference between a role and a capability?
4. Name one plugin that allows customization of roles and capabilities beyond the WordPress
defaults.
Page 23 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.9 Search Engine Optimization (SEO)
3.9.1 Basics of SEO for WordPress
WordPress is reasonably SEO-friendly by default — it produces clean, semantic HTML and gives full
control over permalinks — but on-page factors still require deliberate attention: content quality,
proper heading structure (a single H1 per page), descriptive URLs, internal linking, image alt text,
and mobile-friendliness.
3.9.2 Using SEO Plugins like Yoast SEO
Yoast SEO (and similarly, Rank Math) adds a metabox to each post/page editing screen, providing:
● Custom SEO title and meta description fields
● Focus keyphrase analysis with readability and SEO scoring
● Automatic XML sitemap generation
● Per-post control over noindex/nofollow directives
● Breadcrumb support and schema (structured data) markup
3.9.3 Optimizing Content for Search Engines
● Use the primary keyword/phrase naturally in the title, opening paragraph, and at least one
heading
● Write a unique, compelling meta description for every page
● Use descriptive, keyword-relevant permalinks (e.g. /best-pasta-recipes/ rather than /post-
123/)
● Add descriptive alt text to every image
● Interlink related posts and pages to strengthen site structure
● Prioritize genuinely useful, well-written content — modern search algorithms weight
relevance and quality heavily
3.9.4 SEO Best Practices for WordPress Websites
● Choose a fast, lightweight, well-coded theme
● Serve the site over HTTPS with a valid SSL certificate
● Optimize images before upload (see Section 3.12)
● Set up Google Search Console and submit an XML sitemap
● Avoid duplicate content — a common pitfall is category/tag archives duplicating full post
content
● Keep the site structure shallow, so important pages are reachable within two to three clicks
from the homepage
Page 24 of 39
Module 2: WordPress — Lecture Notes Web Technologies
KEY TERMS
SEO Search Engine Optimization — practices intended to improve a site's visibility
and ranking in search engine results.
Meta description A short HTML tag summarizing a page's content, often shown beneath the
title in search results.
Schema markup Structured data added to a page's HTML that helps search engines
understand and richly display its content.
Review Questions — Section 3.9
1. Explain the difference between on-page SEO and what an SEO plugin like Yoast actually
automates versus what still requires manual effort.
2. What is a meta description, and where is it typically displayed to users?
3. List three SEO best practices specific to image usage in WordPress.
4. Why is a shallow site structure (fewer clicks to reach any page) considered good SEO practice?
Page 25 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.10 Security and Backup
3.10.1 Importance of Website Security
WordPress's popularity makes it a frequent target for automated attacks — brute-force login
attempts, exploitation of outdated plugins, and malware injection. A successful breach can cause
data loss, search engine or browser blacklisting, and lasting reputational damage, making security a
first-class concern rather than an afterthought.
3.10.2 Securing a WordPress Installation
● Keep WordPress core, themes, and plugins updated at all times
● Use strong, unique passwords and enable two-factor authentication where possible
● Limit login attempts (via a plugin) to mitigate brute-force attacks
● Avoid predictable usernames such as the default 'admin'
● Minimize the number of active plugins — each one is a potential attack surface
● Choose a reputable host offering server-level security (firewalls, malware scanning)
● Disable in-dashboard file editing by adding define('DISALLOW_FILE_EDIT', true); to wp-
[Link]
● Serve the entire site over HTTPS/SSL
3.10.3 Backup Solutions for WordPress Sites
● Common plugins: UpdraftPlus, Duplicator, BackupBuddy
● Store backups off-server (e.g. Google Drive, Dropbox, Amazon S3) so a compromised server
cannot take its own backups down with it
● Back up both the database and the files (uploads, themes, plugins) — a database-only
backup is insufficient
● Schedule automatic backups at a frequency matched to how often content changes (daily
for active sites; weekly may suffice for low-update sites)
3.10.4 Implementing Security Plugins and Techniques
Plugin Primary Focus
Wordfence Firewall, malware scanning, login security
Sucuri Security monitoring, firewall, malware cleanup
iThemes Security Hardening features — file change detection, brute-force protection
Emphasize to students that plugin-level security should be combined with server-level measures
(host firewalls, timely core/plugin updates); no single plugin constitutes a complete security
solution.
KEY TERMS
Brute-force attack An attack method that systematically attempts many password combinations
Page 26 of 39
Module 2: WordPress — Lecture Notes Web Technologies
to gain unauthorized access.
Hardening The process of reducing a system's vulnerability by disabling unnecessary
features and applying security best practices.
Off-site backup A backup copy stored on infrastructure separate from the live server,
protecting against total server loss.
Review Questions — Section 3.10
1. List four concrete steps to harden a WordPress installation against common attacks.
2. Why should backups be stored off-server rather than only on the same hosting account as the
live site?
3. What does the DISALLOW_FILE_EDIT constant do, and why might a developer enable it on a
production site?
4. Name two WordPress security plugins and briefly describe what each specializes in.
Page 27 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.11 E-commerce with WordPress
3.11.1 Introduction to E-commerce Plugins (e.g., WooCommerce)
WooCommerce is the dominant e-commerce plugin for WordPress — free, open-source, and highly
extensible through its own add-on ecosystem. Alternatives exist for narrower needs, such as Easy
Digital Downloads for selling digital products.
3.11.2 Setting Up an Online Store
● Install and activate the WooCommerce plugin
● Run the setup wizard: store location, currency, industry, and product types
● Configure shipping zones and applicable tax settings
● Select a store-compatible theme (Storefront is WooCommerce's official free option)
3.11.3 Managing Products and Orders
Products → Add New allows configuration of:
● Title, description, price, and product images
● Categories and tags specific to the store's catalogue
● Inventory / stock tracking
● Product type — simple, or variable (e.g. size/colour variants), and digital/downloadable
products
WooCommerce → Orders provides a screen for viewing and processing orders, updating status
(Processing, Completed, Refunded, etc.), and managing customer and shipping details.
3.11.4 Payment Gateway Integration
WooCommerce includes basic built-in gateways (e.g. direct bank transfer, cash on delivery) and
supports extensions for major providers such as Stripe, PayPal, and Square, as well as region-
specific gateways. Each gateway extension typically requires API keys obtained from the payment
provider's own dashboard, configured under WooCommerce → Settings → Payments.
KEY TERMS
WooCommerce The most widely used e-commerce plugin for WordPress, turning a standard
site into an online store.
Payment gateway A service that securely processes online payment transactions between a
store and a customer's bank or card issuer.
Variable product A product with selectable variants — such as size or colour — each potentially
having its own price or stock level.
Page 28 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Review Questions — Section 3.11
1. List the main steps to set up a basic WooCommerce store, from plugin installation to first sale.
2. What is the difference between a simple product and a variable product in WooCommerce?
3. Explain what a payment gateway does, and name two commonly integrated with
WooCommerce.
4. Where would a store administrator go to update the status of a customer's order?
Page 29 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.12 Performance Optimization
3.12.1 Speeding Up WordPress Websites
Overall site speed is shaped by several compounding factors: hosting quality, caching strategy,
image optimization, plugin bloat, and the use of a Content Delivery Network (CDN). Instructors
should frame performance as a holistic concern rather than a single setting to toggle.
3.12.2 Caching Techniques
● Page caching — serves a pre-built static HTML version of a page instead of regenerating it
from PHP and the database on every visit (e.g. WP Rocket, W3 Total Cache, WP Super
Cache, or server/host-level caching)
● Browser caching — instructs visitors' browsers to store static assets (CSS, JS, images) locally
for repeat visits, reducing repeat load times
● Object caching — caches database query results (commonly via Redis or Memcached), most
valuable for high-traffic sites with complex queries
3.12.3 Image Optimization
● Compress images before or after upload using plugins such as Smush, ShortPixel, or Imagify
● Use modern image formats (e.g. WebP) where browser support allows
● Enable lazy loading, so images below the visible fold load only as a visitor scrolls — built into
WordPress core by default since version 5.5
● Serve appropriately sized images rather than relying on CSS to shrink oversized originals
3.12.4 Minification and Optimization Plugins
● Minification strips whitespace and comments from CSS/JS files, reducing their file size
● Combining files reduces the number of HTTP requests, though this is less critical under
HTTP/2
● Common tools: Autoptimize, WP Rocket (includes built-in minification), and Asset CleanUp
for disabling unused CSS/JS on a per-page basis
KEY TERMS
CDN (Content Delivery A geographically distributed network of servers that delivers static content
Network) from a location close to the visitor, reducing latency.
Lazy loading A technique that defers loading of off-screen images or content until they are
about to enter the viewport.
Minification The process of removing unnecessary characters (whitespace, comments)
from code files to reduce their size without changing functionality.
Page 30 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Review Questions — Section 3.12
1. Differentiate between page caching, browser caching, and object caching.
2. Explain how lazy loading improves initial page load time, and identify what triggers an image to
load under this technique.
3. What is minification, and why is combining files considered less critical under HTTP/2 than it
once was?
4. List three concrete steps a developer could take to reduce a slow WordPress site's load time.
Page 31 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.13 Multisite and Multilingual Websites
3.13.1 Setting Up WordPress Multisite
WordPress Multisite allows a single installation to run multiple sites that share the same core files,
plugins, and (optionally) themes.
Setup procedure:
● Add define('WP_ALLOW_MULTISITE', true); to [Link]
● Navigate to Tools → Network Setup and choose a subdomain or subdirectory structure
● Follow the prompts to update [Link] and .htaccess as instructed
● After reload, a new My Sites → Network Admin area appears for managing the network
3.13.2 Managing Multiple Websites from One WordPress Installation
The Network Admin dashboard allows a Super Admin to create new sites, manage users across the
entire network, and control which themes and plugins are network-activated (available to every
site) versus enabled only on specific sites.
3.13.3 Creating a Multilingual Website Using Plugins
● WPML — a robust, premium solution widely used in professional multilingual projects
● Polylang — free with premium tiers, a common choice for smaller multilingual sites
● TranslatePress — offers a visual, front-end translation interface
These plugins allow the creation of translated post/page versions, automatic or manual language
switching based on the visitor, and a language-switcher widget or menu item.
3.13.4 Best Practices for Managing Multisite and Multilingual Sites
● Plan the site structure (subdomains vs. subdirectories vs. domain mapping) before launch,
since restructuring afterward is difficult
● Keep the active plugin count lean — network-wide plugins affect the performance of every
site on the network
● For multilingual sites, maintain a consistent URL structure per language (e.g. /en/, /fr/) for
SEO clarity
● Regularly audit that all language versions remain in sync content-wise
KEY TERMS
Multisite A WordPress configuration allowing a single installation to host and manage
multiple distinct websites.
Network Admin The administrative area used to manage all sites, users, themes, and plugins
within a Multisite network.
Domain mapping Assigning a custom domain name to a specific site within a Multisite network.
Page 32 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Review Questions — Section 3.13
1. What constant must be added to [Link] before Multisite can be enabled, and what does
it do?
2. Differentiate a subdomain-based Multisite structure from a subdirectory-based one.
3. Name two plugins commonly used to build multilingual WordPress sites, and describe one
difference between them.
4. Why is planning site structure before launch especially important for Multisite and multilingual
projects?
Page 33 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.14 Advanced Customization
3.14.1 Customizing WordPress Themes with Code
Beyond what the Customizer exposes, deeper changes involve directly editing theme template files
([Link], [Link], [Link], and others). As emphasized in Section 3.4, such edits should
always be made in a child theme to survive future parent theme updates.
3.14.2 Creating Custom Page Templates
A custom page template is a PHP file within a theme (or child theme) that begins with a specially
formatted comment header:
<?php
/* Template Name: Full Width Page */
get_header();
// custom layout code here
get_footer();
Once saved into the theme folder, this template becomes selectable from the Page Attributes panel
when editing any page.
3.14.3 Using Child Themes for Advanced Customization
As introduced earlier, child themes remain the safe mechanism for overriding template files, adding
custom [Link] code, or enqueuing additional stylesheets and scripts — without risking loss
of work when the parent theme is updated.
3.14.4 Customizing Plugins and Functionality
For altering plugin behaviour, hooks (add_action / add_filter) are strongly preferred over editing
plugin files directly. Well-built plugins document specific filters intended for exactly this kind of
customization in their developer documentation.
<?php
// Example: modify the 'Add to Cart' button text in WooCommerce via a
filter
add_filter('woocommerce_product_add_to_cart_text', function() {
return 'Buy Now';
});
KEY TERMS
Template file A PHP file within a theme responsible for rendering a specific type of page
(e.g. single post, archive, page).
Action hook A point in WordPress's execution where custom code can be run using
add_action().
Filter hook A point in WordPress's execution where a value can be intercepted and
modified using add_filter() before it is used or displayed.
Page 34 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Review Questions — Section 3.14
1. What line must appear at the top of a PHP file for WordPress to recognize it as a selectable
custom page template?
2. Explain the difference between an action hook and a filter hook, with an example of each.
3. Why is editing a plugin's core files directly discouraged, even when hooks could theoretically be
avoided?
4. Describe a scenario where a custom page template would be necessary rather than sufficient
customization through the Customizer alone.
Page 35 of 39
Module 2: WordPress — Lecture Notes Web Technologies
3.15 Troubleshooting and Maintenance
3.15.1 Common WordPress Issues and Solutions
Issue Likely Cause / Solution
White Screen of Death Usually a PHP error or memory limit issue — enable debug mode to
identify it, or deactivate plugins one by one
Locked out of admin Reset the password via the database (phpMyAdmin), or use an FTP-
based emergency password-reset script
500 Internal Server Error Often a corrupted .htaccess file or a plugin conflict — regenerate
permalinks, or deactivate plugins via FTP by renaming the plugins
folder
Broken images/styles after Usually a URL mismatch — update the Site/Home URL in the
migration database, or use a dedicated migration plugin
3.15.2 Debugging Techniques
Enable WordPress's built-in debug mode by adding the following to [Link]:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
This configuration logs errors to wp-content/[Link] without displaying them to site visitors —
an important distinction for production sites. Students should also be shown how to check server
error logs and browser developer console output for JavaScript errors.
3.15.3 Updating WordPress Core, Themes, and Plugins
● Always back up the site before performing updates, especially major version updates
● Test updates on a staging site first for any critical or production website
● WordPress core often applies minor security releases automatically; major releases and
most plugin/theme updates remain manual (though automatic updates can be configured
with caution)
● Review plugin and theme changelogs for breaking changes before updating
3.15.4 Best Practices for Ongoing Maintenance
● Maintain regular, automated, off-site backups
● Keep core, themes, and plugins updated on a consistent schedule
● Monitor uptime and run periodic security scans
● Remove unused plugins and themes — even inactive ones pose some risk and add clutter
● Periodically review user accounts and remove stale or unnecessary access
● Maintain a staging environment for testing changes before they go live
KEY TERMS
White Screen of Death A blank white page displayed when a fatal PHP error prevents WordPress
Page 36 of 39
Module 2: WordPress — Lecture Notes Web Technologies
(WSOD) from rendering any output.
Staging site A private copy of a website used for testing changes before applying them to
the live production site.
Debug log A file (wp-content/[Link]) that records PHP errors, warnings, and notices
without displaying them publicly.
Review Questions — Section 3.151. What are the three WP_DEBUG-related constants used to
enable safe debugging on a production site, and what does each do?
2. Describe the recommended process for updating a live WordPress site with minimal risk.
3. A client reports a completely white screen after installing a new plugin. What immediate step
would you take to diagnose it?
4. Why should even inactive/unused plugins and themes be removed from a WordPress
installation?
Page 37 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Module Summary
This module traced a complete WordPress workflow: understanding what WordPress is and how it
evolved; installing and configuring a site; managing content through posts, pages, categories, and
tags; customizing appearance through themes and child themes; extending functionality through
plugins; structuring navigation with widgets and menus; modeling specialized content with custom
post types and taxonomies; managing users and access; optimizing for search engines; securing and
backing up a site; building an online store; optimizing performance; scaling to multiple or
multilingual sites; customizing at the code level; and finally, diagnosing and maintaining a site over
its lifetime.
Instructors are encouraged to reinforce this module with hands-on lab sessions — particularly for
theme/plugin installation, custom post type registration, and a basic WooCommerce store setup —
since WordPress concepts are absorbed far more effectively through direct practice than through
lecture alone.
Page 38 of 39
Module 2: WordPress — Lecture Notes Web Technologies
Textbooks and Reference Material
Text Books
● Step by Step HTML5, Faithe Wempen, Microsoft Press, 2011
● The Complete Reference HTML & CSS, Thomas A. Powell, McGraw-Hill, 5th Edition, 2010
● The Complete Reference JavaScript, Thomas A. Powell & Fritz Schneider, McGraw-Hill, 3rd
Edition, 2012
● Web Technologies: HTML, JavaScript, PHP, Java, JSP, XML and AJAX (Black Book), Kogent
Learning Solutions Inc.
Reference Books
● Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics,
Jennifer Niederst Robbins, O'Reilly, 5th Edition, 2018
● Ivan Bayross, "Web Enabled Commercial Applications Development using HTML, DHTML,
JavaScript, Perl CGI," BPB, 2004
● HTML5 for Web Designers, Jeremy Keith
● Introduction to JavaScript Object Notation: A To-the-Point Guide to JSON, Lindsay Bassett,
O'Reilly
● WordPress for Web Developers, Stephanie Leary
Instructors may also wish to direct students to the official WordPress Codex/Developer Resources
([Link]) for documentation that stays current with each new WordPress release,
since printed textbooks can lag behind fast-moving platform changes.
Page 39 of 39