|WordPress Plugin Development, 2nd Ed|
Author: Brad Williams, Justin Tadlock, John James Jacoby
The authors of this book are well-known in the WordPress world, with more than 100 published plugins between them. Of course, that doesn't mean they can tell other developers how to write plugins, but it's a good start.
The book starts with an introduction to plugins - what they are, where to find available ones, their advantages and how to install and manage them. They then move on to discussing how to create and use plugins. That might seem to cover the whole landscape of the book, but it's just an overview, and is followed by a discussion on how to create and use dashboards, menus and submenus, and how to interact with the options and settings APIs.
Security and performance considerations are looked at next, including data validation and sanitizing, formatting SQL statements, and security good habits, caching and transients.
A chapter on content looks at custom post types, post metadata, meta boxes and custom taxonomies. The authors then move on to how to interact with users and user data before looking at scheduled tasks and Cron. They then look at internationalization, localization and translation files.
The third part of the book is more about the internals, with chapters on the Rest API and the HTTP API. There's a really interesting chapter on Multisite, what it can do, and how to enable it in WordPress. A chapter titled 'the kitchen sink' rounds up things like shortcodes, widgets, rewrite rules and the heartbeat API that haven't been covered elsewhere.
The book ends with a chapter on debugging and a final chapter on the developer toolbox - essentially a roundup of the resources and tools available to the WordPress developer.
Overall, this is a very good book, and if you're writing WordPress plugins you should read it and follow its advice. I'd have liked a bit more overview, but it's a very minor niggle, and it shouldn't put you off buying and benefiting from this book.