Limit search to available items
Book Cover
E-book
Author Williams, Brad C

Title Professional WordPress plugin development / Brad Williams, Ozh Richard, Justin Tadlock
Published Indianapolis, Ind. : Wiley Pub., ©2011

Copies

Description 1 online resource (xxvii, 524 pages) : illustrations
Series Wrox professional guides
Wrox professional guides.
Contents Machine generated contents note: What Is a Plug in? -- How Plugins Interact with WordPress -- When Are Plugins Loaded? -- Available Plugins -- Official Plugin Directory -- Popular Plugin Examples -- Popular Plugin Tags -- Advantages of Plugins -- Not Modifying Core -- Why Reinvent the Wheel -- Separating Plugins and Themes -- Easy Updates -- Easier to Share and Reuse -- Plugin Sandbox -- Plugin Community -- Installing and Managing Plugins -- Installing a Plugin -- Managing Plugins -- Editing Plugins -- Plugin Directories -- Types of Plugins -- Testing Plugin Functionality -- Summary -- Creating a Plugin File -- Naming Your Plugin -- Using a Folder -- Sanity Practices -- Prefix Everything -- File Organization -- Folder Structure -- Header Requirements -- Creating the Header -- Plugin License -- Determining Paths -- Plugin Paths -- Local Paths -- URL Paths -- Activate/Deactivate Functions -- Plugin Activation Function -- Create Default Settings on Activate -- Plugin Deactivation Function -- Deactivate Is Not Uninstall -- Uninstall Methods -- Why Uninstall Is Necessary -- Uninstall.php -- Uninstall Hook -- Coding Standards -- Document Your Code -- Naming Variables, Functions, and Files -- Single and Double Quotes -- Indentation -- Brace Style -- Space Usage -- Shorthand PHP -- SQL Statements -- Plugin Development Checklist -- Summary -- Actions -- What Is an Action? -- Action Hook Functions -- Commonly Used Action Hooks -- Filters -- What Is a Filter? -- Filter Hook Functions -- Quick Return Functions -- Commonly Used Filter Hooks -- Using Hooks from Within a Class -- Creating Custom Hooks -- Benefits of Creating Custom Hooks -- Custom Action Hook Example -- Custom Filter Hook Example -- How to Find Hooks -- Searching for Hooks in the Core Code -- Variable Hooks -- Hook Reference Lists -- Summary -- Adding Menus and Submenus -- Creating a Top-Level Menu -- Adding a Submenu -- Adding a Menu Item to an Existing Menu -- Creating Widgets -- Creating a Widget -- Advanced Widget -- Creating Dashboard Widgets -- Creating a Dashboard Widget with Options -- Meta Boxes -- Adding a Custom Meta Box -- Saving Meta Box Data -- Advanced Meta Box -- Keeping It Consistent -- Using the WordPress UI -- Headings -- Icons -- Messages -- Buttons -- Links -- Form Fields -- Tables -- Pagination -- Summary -- Internationalization and Localization -- Why Internationalize? -- Understanding Internationalization in Professional Work -- Getting Your Plugin Ready for Translation -- Echoing and Returning Strings -- Using Placeholders -- Internationalizing JavaScript -- Creating Translation Files -- MO and PO Files -- Translation Tools -- How to Create a POT File -- Where to Store Translation Files -- Summary -- Securing Your Plugin -- What Securing Your Plugin Is -- What Securing Your Plugin Is Not -- User Permissions -- How to Check current_user_can() -- Do Not Check Too Early -- Nonces -- Authority Versus Intention -- What Is a Nonce? -- How to Create and Verify Nonces -- Nonces in Ajax Scripts -- Data Validation and Sanitization -- Need for Data Validation and Sanitization -- Good Practice; Identifying Potentially Tainted Data -- Validating or Sanitizing Input? -- Validating and Sanitizing Cookbook -- Formatting SQL Statements -- $wpdb Object -- Why wpdb Methods Are Superior -- All-in-One Methods -- Common Methods -- Protecting Queries Against SQL Infections -- Miscellaneous wpdb Methods and Properties -- Security Good Habits -- Summary -- Options API -- Saving Options -- Saving an Array of Options -- Retrieving Options -- Loading an Array of Options -- Deleting Options -- Autoload Parameter -- Settings API -- Benefits of the Settings API -- Settings API Functions -- Wrapping It Up: A Complete Plugin Management Page -- Improving Feedback on Validation Errors -- Adding Fields to an Existing Page -- Transients API -- Saving an Expiring Option -- Retrieving an Expiring Option -- Deleting an Expiring Option -- Practical Example Using Transients -- Technical Details -- Transient Ideas -- Saving Per-User Settings -- Crafting a Plugin -- User Meta data -- Saving User Metadata -- Updating User Metadata -- Getting User Metadata -- Deleting User Metadata -- Getting a User's ID -- Adding Input Fields to a Profile Page -- BOJ's Admin Lang Plugin -- Per-User Settings: Best Practices -- Storing Data in Custom Tables -- Types of Data -- WordPress' Standard Tables -- Creating a Custom Table -- Updating the Structure of a Custom Table -- dbDelta() Tips for Success -- Accessing Your Custom Table -- Summary -- Working with Users -- User Functions -- Creating, Updating, and Deleting Users -- User Data -- User Metadata -- Roles and Capabilities -- What Are Roles and Capabilities? -- Default Roles -- Custom Roles -- Limiting Access -- Checking User Permissions -- Is the User an Admin? -- Allowing Custom Permissions -- Customizing Roles -- Creating a Role -- Deleting a Role -- Adding Capabilities to a Role -- Removing Capabilities from a Role -- Custom Role and Capability Plugin -- Summary -- HTTP Requests Crash Course -- What Is an HTTP Request? -- How to Make HTTP Requests in PHP -- WordPress' HTTP Functions -- wp_remote_ Functions -- Advanced Configuration and Tips -- Practice: Reading JSON from a Remote API -- Getting and Reading JSON -- Your Functional Plugin -- Practice: Sending Data to a Remote API -- Formatting Parameters for POST Requests -- Your Functional Plugin -- Practice: Reading Arbitrary Content -- Make Your Own Plugin Repository -- How Plugin Upgrades Work in WordPress -- Polling an Alternative API from a PlugIn -- Building the Alternative API -- Few Words of Caution About Self-Hosted API -- Special Case: Fetching Remote Feeds -- Summary -- Creating Shortcodes -- What Shortcodes Are -- Register Custom Shortcodes -- Shortcode Tips -- Think Simplicity for the User -- Remember the Dynamicity -- Look Under the Hoods -- "bb code" for Comments Plugin -- Shortcode Nesting Limitations -- Integrating Google Maps -- Accessing the Google Geocoding API -- Storing API Results -- Accessing the Google Maps API -- More Shortcode Quick Ideas -- Display Member-Only Content -- Display Time-Limited Content -- Obfuscate Email Addresses -- Summary -- Creating Custom Post Types -- Post Type Possibilities -- Registering a Post Type -- Setting Post Type Labels -- Using Custom Capabilities -- Attaching Existing Taxonomies -- Using Custom Post Types -- Creating a Custom Post Type Loop -- Retrieving Custom Post Type Content -- Checking if a Post Type Exists -- Post Metadata -- Adding Post Metadata -- Retrieving Post Metadata -- Updating Post Metadata -- Deleting Post Metadata -- Creating Custom Taxonomies -- Understanding Taxonomies -- Registering a Custom Taxonomy -- Assigning a Taxonomy to a Post Type -- Using Custom Taxonomies -- Retrieving a Taxonomy -- Using a Taxonomy with Posts -- Taxonomy Conditional Tags -- Post Type arid Taxonomy Plugin -- Summary -- jQuery[--]A Brief Introduction -- Benefits of Using jOuery -- jOuery Crash Course -- Ajax -- What Is Ajax? -- Ajax Best Practices -- Adding JavaScript in WordPress -- Proper Way to Include Scripts -- Where to Include Scripts -- Adding Scripts Only When Needed -- Dynamic Scripts in WordPress -- Ajax in WordPress -- Ajax in WordPress: Principles -- Complete Example: Instant "Read More" Links -- Another Example: Frontend Comment Deletion -- Debugging Ajax -- Summary -- What Is Cron? -- How Is Cron Executed? -- Scheduling Cron Events -- Scheduling a Recurring Event -- Scheduling a Single Event -- Unscheduling an Event -- Specifying Your Own Cron Intervals -- Viewing Cron Events Scheduled -- True Cron -- Practical Use -- Deleting Post Revisions Weekly
-- Blog Pester Plugin -- Delete Comments Plugin -- Summary -- Why Rewrite URLs -- Permalink Principles -- Apache's mod_rewrite -- URL Rewriting in WordPress -- How WordPress Handles Queries -- Overview of the Query Process -- rewrite Object -- query Object -- What Plugins Can Do -- Practical Uses -- Rewriting a URL to Create a List of Shops -- Creating a New Permalink Structure and Integrating Non-Word Press Pages -- Adding an Endpoint and Altering Output Format -- Adding a Custom Feed for the Latest Uploaded Images -- Summary -- Differences -- WordPress Versus Multisite Network -- Understanding Multisite Terminology -- Advantages of Multisite -- Enabling Multisite in WordPress -- Multisite Functions -- Power of Blog ID -- Common Functions -- Switching and Restoring Sites -- Network Content Shortcode Examples -- Network Content Widget Example -- Creating a New Site -- Multisite Site Options -- Users in a Network -- Multisite Super Admin -- Checking the Site Owner -- Network Stats -- Multisite Database Schema -- Multisite-Specific Tables -- Site-Specific Tables -- Summary -- Supporting Old Versions (Not) -- Keeping Current with WordPress Development -- Deprecated Functions -- Dealing with Obsolete Client Installs -- Debugging -- Enabling Debugging -- Displaying Debug Messages -- Correcting Debug Messages -- Error Logging -- Enabling Logging -- Setting Log File Location -- Understanding the Log File -- Caching -- Saving, Loading, and Deleting Cached Data -- Caching Data Within a Plugin -- Summary -- Choosing a License for Your Plugin -- Different Options -- Why It Matters
Note continued: Making Money While Using the GPL -- Submitting to WordPress.org -- Creating an Account -- Submitting a Plugin -- Setting Up SVN -- Creating a readme.txt File -- Getting Your Plugin Renowned -- Naming Your Plugin -- Building a Web Site -- Creating a Page for Your Plugin -- Announcing Your Plugin -- Supporting Your Plugins -- Getting Feedback -- Getting Out of the Basement -- Other Promotion Methods -- Summary -- Core as Reference -- Inline Documentation -- Finding Functions -- Common Core Files -- Codex -- Searching the Codex -- Function Reference -- Tool Web Sites -- PHPXref -- Hooks Database -- Community Resources -- Support Forums -- Mailing Lists -- WordPress Chat -- WordPress Development Updates -- WordPress Ideas -- Community News Sites -- Local Events -- Tools -- Browser -- Editor -- Deploying Files with FTP, SFTP, and SSH -- phpMyAdmin -- Summary
Summary Annotation WordPress boasts a framework that allows you to easily customise and extend it through plugins. This comprehensive book shows how plugins work, reviews the tools and APIs in WordPress, and demonstrates how to extend the functionality of WordPress with plugins
Bibliography Includes bibliographical references
Notes English
SUBJECT WordPress (Electronic resource) http://id.loc.gov/authorities/names/no2008101152
WordPress (Electronic resource) blmlsh
WordPress (Electronic resource) fast (OCoLC)fst01796195
Subject Blogs -- Computer programs
Web sites -- Authoring programs.
COMPUTERS -- Web -- Blogs.
Web sites -- Authoring programs.
Form Electronic book
Author Richard, Ozh.
Tadlock, Justin.
LC no. 2011920897
ISBN 9781118075302
1118075307
9781118075326
1118075323
9781118075319
1118075315
1283374668
9781283374668
9786613374660
6613374660