As one would expect of such a popular system, there are numerous books, articles, videos, and courses available to learn about WordPress. We will highlight just a few.
Unfortunately, the state of documentation for the user is less than ideal. For many years documentation for both regular users and developers was kept in the Codex, a wiki with some great content but somewhat loosely organized and without a clear path for learning WordPress. Since then the documentation for developers has been largely rewritten into helpful handbooks and references listed below. You can use the Codex to learn the regular use of WordPress, but I'd recommend looking elsewhere.
- The Official WordPress.org Theme Handbook - For developers.
- The Official WordPress.org Plugin Handbook - For developers.
- The Official WordPress.org Code Reference - For developers.
- The Official WordPress.org REST API Handbook - For developers.
You could start with a book on WordPress, but honestly, this is a little overwhelming. I'd recommend setting up a test WordPress install, playing around with it, and reading some articles on WordPress. Once you have the lay of the land a book length treatment will be significantly more helpful.
- WordPress Complete - 6th Edition by Karol Krol - 8/2017 - Covers regular usage (creating pages, posts, etc.), using plugins, theme development, social media integration, creating plugins, using the REST API, and so on. The first half of this book will be helpful to the regular user, the second half to developers in particular.
There are several sites that publish top quality articles on WordPress on a regular basis. These include:
Below I've listed a few articles to get you started...
- The Power User's Ultimate Guide to the WordPress Admin Area
- How to Make the WordPress Editor Look Like Your Website(2)
- Your Totally Complete Guide to Customizing the WordPress Post Editor(4)
- Finally! Getting Images to Sit Side-by-Side in WordPress
- Free WordPress Themes: The Ultimate Guide
- 5 Plugins to Supercharge the Search Function On Your WordPress Site(5)
- The Ultimate Guide to WordPress Security
- WordPress Roles adn Capabilities Explained
- 10 Drag and Drop WordPress Page Builders Worth Checking Out(7)
- How to Use SSL and HTTPS with WordPress
- How to Create a WordPress Child Theme
- The Best 100 Free WordPress Themes Ever
- How to Set Up WordPress Locally in 5 Minutes with DesktopServer(8)
- How to Install XAMPP and WordPress Locally on PC/Windows
- Customizing the WordPress Admin Experience for Novice Clients
- How to Add More Navigation Menus to Your WordPress Theme
- The Ultimate Mega Guide to Speeding Up WordPress
- WordPress for Non-Profits: A Comprehensive Guide
- What the WordPress REST API Means to Ordinary Users (and Not Developers)
- Learning PHP for WordPress Development: A Comprehensive Guide
- Creating Custom Content in WordPress: Custom Post Types
- Getting Started with WordPress Plugin Development
- How to Code Your Own Custom WordPress Widget
- A Quick and Easy Guide To Creating WordPress Admin Pages
- How to Create WordPress Custom Post Types
- 5 Simple Methods for Creating Custom Queries in WordPress
- Why You Shouldn't Use functions.php (And What You Should Do Instead(3)
- A Quick Guide to Creating Custom Taxonomies in WordPress
- A Quick (and in-Depth) Guide to WordPress Hooks
- The WordPress wp-config File: A Comprehensive Guide
- The Ultimate Guide to Choosing a WordPress Theme Framework
- Simplifying Your WordPress Theming with Twig and Timber(6)
- An In-Depth Guide to Conquering WP_Query
- Creating Custom Page Templates in WordPress
- The Developers Guide to the WordPress Database
- How to Create Clever Custom WordPress Shortcodes
- Creating WordPress Plugins in an Object Oriented Way
- Using CSS3 Media Queries for Responsive WordPress Design
- Cookies and WordPress: How to Set, Get and Delete
- Understanding WordPress Theme Files and Where to Find Them
- Creating Custom Content in WordPress: Taxonomies and Filters
- How to Use the WordPress REST API
- How to Create a WordPress Plugin
- JavaScript for WordPress People: What You Need to Know
- WordPress Development for Beginners: Widgets and Menus
- Creating Custom Fields Manually in WordPress
- Creatign Custom Post Meta Boxes in WordPress
- JavaScript and the WordPress REST API: Understanding the Jargon
- Building Customized URLs in WordPress: Permalinks, Query Vars and URL Rewriting
- WordPress Development for Beginners: Building Plugins
- WordPress Development for Beginners: Getting Started
- WordPress Development for Beginners: Learning PHP
- An Introduction to Object-Oriented Code for WordPress Plugins
- WordPress Development for Beginners: Building Themes
- WPMUdev's The Academy - A full set of courses covering development, multisite, javascript, etc. Focused on the developer, not the regular user.
- This is something we should do when we have time.
- We do use functions.php, but any significant functionality should be placed into its own plugin.
- We use TinyMCE Advanced and an HTML Editor Syntax Highlighter.
- I've mainly used Relevanssi in the past. Its admin UI isn't ideal and the use of this or any other search plugin needs to be carefully configured to work with our existing plugins - especially the messages plugin.
- We currently use Bootstrap, though Twig/Timber are interesting and may be worth considering at some juncture.
- I am all for visual page builders but strongly suggest that they output standard code/content that is not tied to the specific visual page builder, otherwise one becomes locked into a specific page builder since removing it will cause the site to break.
- Alternatively, one can use Cloud9 (free) or DigitalOcean ($5/mo.) to spin up an instance.