Wordpress Web Application Development(Third Edition)
Rakhitha Nimesh Ratnayake更新时间:2021-07-09 19:53:31
最新章节:Online resources and tutorialscoverpage
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
WordPress as a Web Application Framework
WordPress as a CMS
WordPress as a web application framework
The MVC versus event-driven architecture
Simplifying development with built-in features
User management
Media management
Template management
Database management
Routing
XML-RPC API
REST API
Caching
Scheduling
Plugins and widgets
Themes
Actions and filters
The admin dashboard
Identifying the components of WordPress
The role of WordPress themes
Structure of a WordPress page layout
Customizing the application layout
The role of the admin dashboard
The admin dashboard
Posts and pages
Users
Appearance
Settings
The role of plugins
The role of widgets
A development plan for the forum management application
Application goals and target audience
Planning the application
User roles of the application
Planning application features and functions
Understanding limitations and sticking to guidelines
Building a question-answer interface
Prerequisites for building a question-answer interface
Creating questions
Customizing the comments template
Changing the status of answers
Saving the status of answers
Generating a question list
Enhancing features of the questions plugin
Customizing the design of questions
Categorizing questions
Approving and rejecting questions
Adding star rating to answers
Summary
Implementing Membership Roles Permissions and Features
Introduction to user management
Preparing the plugin
Getting started with user roles
Creating application user roles
The best action for adding user roles
Knowing the default roles of WordPress
Choosing between default and custom roles
Scenario 1
Scenario 2
Removing existing user roles
Understanding user capabilities
Creating your first capability
Understanding default capabilities
Registering application users
Implementing frontend registration
Shortcode implementation
Pros and cons of using shortcodes
Page template implementation
Pros and cons of page templates
Custom template implementation
Building a simple router for a user module
Creating the routing rules
Adding query variables
Flushing the rewriting rules
Controlling access to your functions
The advantages of using the do_action function
Creating custom templates
Designing the registration form
Planning the registration process
Handling registration form submission
Exploring the registration success path
Automatically logging in the user after registration
Activating system users
Creating a login form in the frontend
Handling login form submission
Checking whether we implemented the process properly
Essential user management features for web applications
Frontend login and registration
Custom profile fields
Private data
Search and member list
Frontend profile
Implementing user management features with popular plugins
BuddyPress
User Profiles Made Easy
User Role Editor
Time to practice
Summary
Planning and Customizing the Core Database
Understanding the WordPress database
Exploring the role of existing tables
User-related tables
Post-related tables
Term-related tables
Other tables
Adapting existing tables in web applications
User-related tables
Post-related tables
Scenario 1 &-; an online shopping cart
Scenario 2 &-; a hotel reservation system
Scenario 3 &-; a project management application
Term-related tables
Other tables
Extending the database with custom tables
Planning the forum application tables
Types of table in web applications
Creating custom tables
Querying the database
Querying the existing tables
Inserting records
Updating records
Deleting records
Selecting records
Querying the custom tables
Working with posts
Extending the WP_Query class for applications
Introduction to WordPress query classes
The WP_User_Query class
The WP_Comment_Query class
Other query classes
Limitations and considerations
Transaction support
Post revisions
How do you know whether to enable or disable revisions?
Autosaving
Using meta tables
Summary
Building Blocks of Web Applications
Introduction to custom content types
The role of custom post types in web applications
Planning custom post types for an application
Forums
Topics
Implementing custom post types for a forum application
Implementing the custom post type settings
Creating forum and topic classes
Assigning permissions to forums and topics
Creating custom taxonomies for topic categories and topic tags
Assigning permissions to the topic tags
Introduction to custom fields with meta boxes
What is a template engine?
Building a simple custom template loader
Creating your first template
Comparing the template loader and template engine
Persisting custom field data
Customizing custom post type messages
Introduction to post type templates
Creating and using a post type template
Introducing custom post type relationships
Pods framework for custom content types
Should you choose Pods for web development?
Implementing custom post type features with popular plugins
Custom Post Type UI
Toolset Types
Time to practice
Summary
Implementing Application Content Restrictions
Introduction to content restrictions
Practical usage of content restrictions
The role of membership in content restrictions
Understanding restriction levels
User roles-based restrictions
User groups-based restrictions
Membership plans-based restrictions
Unique password-based restrictions
Implementing content restrictions in posts/pages
Shortcode-based restrictions
Individual post/page restrictions
Creating a meta box for topic restrictions
Saving topic restriction settings
Verifying individual post/page restrictions
Site lockdown
Enabling restrictions on WordPress core features
Restrictions on posts
Restrictions on searches
Restrictions on menus
Restrictions on widgets
Restrictions on archives
Supplementary content restriction types and techniques
Restrictions on custom generated content
Attachment protection
Social Locker
E-mail subscription
Private page
Useful plugins for content restrictions
Restrict Content
WP Private Content Plus
Membership 2
Time to practice
Summary
Developing Pluggable Modules
A brief introduction to WordPress plugins
Understanding the WordPress plugin architecture
WordPress plugins for web development
Creating reusable libraries with plugins
Planning the template loader plugin
Using the template loader plugin
Handling plugin dependencies
Extensible plugins
Extending plugins with WordPress core actions and filters
Creating the extensible file uploader plugin
Converting file fields with jQuery
Integrating the media uploader to buttons
Extending the file uploader plugin
Customizing the allowed file types
Saving and loading topic files
Extending plugins with custom actions and filters
Pluggable plugins
Tips for using pluggable functions
Tips for developing extendable plugins
Time to practice
Summary
Customizing the Dashboard for Powerful Backends
Understanding the admin dashboard
Customizing the admin toolbar
Removing the admin toolbar
Managing the admin toolbar items
Customizing the main navigation menu
Creating new menu items
Adding features with custom pages
Building options pages
Creating a custom layout for options pages
Building an application options panel
Using the WordPress options API
Using feature-packed admin list tables
Working with default admin list tables
The post list
Creating custom actions for custom posts
Creating custom filters for custom post types
Creating custom post status links
Displaying custom list columns
The user list
The comments list
Building extended lists
Using the admin list table for forum topics
Step 1 &-; defining the custom class
Step 2 &-; defining the instance variables
Step 3 &-; creating the initial configurations
Step 4 &-; implementing the custom column handlers
Step 5 &-; implementing the column default handlers
Step 6 &-; displaying the checkbox for records
Step 7 &-; listing the available custom columns
Step 8 &-; defining the sortable columns of list
Step 9 &-; creating a list of bulk actions
Step 10 &-; retrieving the list data
Step 11 &-; adding a custom list as a menu page
Step 12 &-; displaying the generated list
Managing the subscribe and unsubscribe status
Adding content restrictions to admin list tables
An awesome visual presentation for admin screens
Using existing themes
Using plugin-based third-party admin themes
Creating your own admin theme
The responsive nature of the admin dashboard
Supplementary admin dashboard features
Dashboard widgets
Screen options menu
Help menu
User language control
Time for action
Summary
Adjusting Theme for Amazing Frontends
An introduction to the WordPress application frontend
A basic file structure of the WordPress theme
Understanding the template execution hierarchy
The template execution process of web application frameworks
Web application layout creation techniques
Shortcodes and page templates
Custom templates with custom routing
Using pure PHP templates
The WordPress way of using templates
Direct template inclusion
Theme versus plugin-based templates
Are you planning to create an application-specific theme?
Building the forum application home page
Building the forum list using shortcode
Widgetizing home page
What is a widget?
Widgetizing application layouts
Creating widgets
Designing a home page template
Generating the application frontend menu
Creating a navigation menu
Saving menu item restrictions
Displaying user-specific menus on the frontend
Managing options and widgets with customizer
Adding custom options to the theme customizer
Handling widgets in the theme customizer
Creating pluggable templates
Extending the home page template with action hooks
Customizing widgets to enable extendable locations
Planning action hooks for layouts
Managing custom CSS with live preview
Responsive previews in theme customizer
Time for action
Summary
Enhancing the Power of Open Source Libraries and Plugins
Why choose open source libraries?
Open source libraries inside the WordPress core
Open source JavaScript libraries in the WordPress core
What is Backbone.js?
Understanding the importance of code structuring
Integrating Backbone.js and Underscore.js
Creating a forum user profile page with Backbone.js
Structuring with Backbone.js and Underscore.js
Displaying the topics list on page load
Creating new topics from the frontend
Integrating events to Backbone.js views
Validating and creating new models for the server
Creating new models in the server
Using PHPMailer for custom e-mail sending
Usage of PHPMailer within the WordPress core
Creating a custom version of a pluggable wp_mail function
Loading PHPMailer inside plugins and creating custom functions
Implementing user authentication with OpenAuth
Configuring login strategies
Implementing LinkedIn account authentication
Verifying a LinkedIn account and generating a response
Building a LinkedIn app
The process of requesting the strategies
Initializing the library
Authenticating users to our application
Using third-party libraries and plugins
Using open source plugins for web development
Using plugins for checking security of other plugins
Time for action
Summary
Listening to Third-Party Applications
Introduction to APIs
The advantages of having an API
The WordPress XML-RPC API for web applications
Building the API client
Creating a custom API
Integrating API user authentication
Integrating API access tokens
Providing the API documentation
WordPress REST API for web applications
Introduction to WordPress REST API endpoints
Testing GET requests
Testing POST requests
Disabling REST API
Custom content types with REST API
Managing custom routes and endpoints
Creating custom routes and endpoints for forum topics
Creating custom routes and endpoints for custom table data
Building the REST API client
REST API client in the same site
REST API client from external site
REST API authentication and access tokens
Time for action
Summary
Integrating and Finalizing the Forum Management Application
Integrating and structuring the forum application
Integrating the template loader into a user manager
Working with the restructured application
Building the forum page
Displaying forum details
Creating new forum topics
Displaying forum topics
Joining users to forums
Restricting topic creation to forum members
Building forum topic page
Creating forum topic replies
Handling forum topic replies
Understanding other forum features
Updating a user profile with additional fields
Updating the values of the profile fields
Scheduling subscriber notifications
Notifying subscribers through e-mails
Time for action
Final thoughts
Summary
Supplementary Modules for Web Development
Internationalization
Introduction to WordPress translation support
The translation functions in WordPress
Creating plugin translations
Creating the POT file using Eazy Po
Creating and editing translations with PoEdit
Loading language files
Changing the WordPress language
Working with media grid and image editor
Introduction to the post editor
Using the WordPress editor
Keyboard shortcuts
Editor item locations
Highlighting broken links
Video embedding
Lesser-known WordPress features
Caching
Transients
Testing
Security
Performance
P3 - Plugin Performance Profiler plugin
Query monitor plugin
GTmetrix for WordPress
Managing application scripts and styles
Conditionally loading script and styles
Inline script loading
Version control
E-commerce
Creating products with WooCommerce
Migrating WordPress applications
Importing and exporting application content
Introduction to multisite
Time for action
Summary
Configurations Tools and Resources
Configuring and setting up WordPress
Step 1&-; downloading WordPress
Step 2 &-; creating the application folder
Step 3 &-; configuring the application URL
Creating a virtual host
Using a localhost
Step 4 &-; installing WordPress
Step 5 &-; setting up permalinks
Step 6 &-; downloading the Responsive theme
Step 7&-; activating the Responsive theme
Step 8 &-; activating the plugin
Step 9 &-; using the application
Open source libraries and plugins
Online resources and tutorials
更新时间:2021-07-09 19:53:31