售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
WordPress 3 Plugin Development Essentials
Table of Contents
WordPress 3 Plugin Development Essentials
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
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 for this book
Errata
Piracy
Questions
1. Preparing for WordPress Development
WordPress background
Extending WordPress
Understanding WordPress architecture
Templating
Introducing plugins
Summarizing architecture
Tools for web development
WordPress
Mac
Windows
Text editor
Using an IDE
FTP client
MySQL client
Coding best practices
Basic organization
Isolate tasks into functions
Use classes
Use descriptive variable names
Use descriptive function names
Separate logic and display layers
Go modular, to a point
Avoid short tags
Planning ahead / starting development
Interfaces
Localization
Documentation for the developer
Version control
Environment
Tests
Security
Printing user-supplied data to a page
Using user-supplied data to construct database queries
Debugging
Clearing your browser cache
Updating your php.ini file
Configuring your wp-config.php file
Checking your syntax
Checking values
Exercise
Summary
2. Anatomy of a Plugin
Deconstructing an existing plugin: "Hello Dolly"
Activating the plugin
Examining the hello.php file
Information header
Exercise—breaking the header
Location, name, and format
Understanding the Includes
Exercise – parse errors
Bonus for the curious
User-defined functions
Exercise—an evil functionless plugin
What just happened
Omitting the closing "?>" PHP tag
A better example: Adding functions
Referencing hooks via add_action() and add_filter()
Actions versus Filters
Exercise—actions and filters
Exercise—filters
Reading more
Summary
3. Social Bookmarking
The overall plan
Proof of concept
Avoiding conflicting function names
The master plugin outline
The plugin information header
In your browser—information header
Adding a link to the post content
Documenting our functions
In your browser—linking to the post content
Adding JavaScript to the head
Making our link dynamic
In your browser—dynamic links
Adding a button template
Getting the post URL
In your browser—getting the post URL
Getting the post title
Getting the description
Getting the media type
Getting the post topic
In your browser—title, description, and topic
Checking WordPress versions
Summary
4. Ajax Search
What is Ajax?
The overall plan
The proof of concept mock up
Hooking up jQuery
Test that jQuery has loaded
What happened?
Using the FireBug console directly
Writing HTML dynamically to a target div
Multi-line strings
Viewing the generated page
Anonymous functions
Adding a div on the fly
Create a listener
Fetching data from another page
Creating our plugin
Creating index.php and activating the plugin
Creating our first PHP class
Updating index.php
Testing your version of PHP
Testing for searchable pages
Adding your own CSS files
Adding your search handler
Adding your own JavaScript
Handling Ajax search requests
Formatting your search results
Summary
5. Content Rotator
The plan
Widget overview
Preparation
Activating your plugin
Activating the widget
Having problems?
Parents and children: extending classes
Objects vs. libraries: when to use static functions
Add custom text
Adding widget options
Generating random content
Expiration dates: adding options to our widget
Expiration dates: enforcing the shelf life
Explaining the $instance
Adding a custom manager page
Adding options to the custom manager page
Randomizing content from the database
Review of PHP functions used
Summary
6. Standardized Custom Content
What WordPress does for you: custom fields
What WordPress doesn't do for you
Standardizing a post's custom fields
Creating a new plugin
Removing the default WordPress form for custom fields
Creating our own custom meta box
Defining custom fields
Generating custom form elements
Saving custom content
Having trouble saving data?
Displaying custom data in your Templates
Copying a theme
Modifying the theme
Granular display of custom fields
Bonus for the MySQL curious
Known limitations
Summary
7. Custom Post Types
Background: What's in a name?
Understanding register_post_type()
Customizing our post type
Using shortcodes
Testing our shortcode
Customizing our plugin
Creating a settings shortcut link
Cleaning up when uninstalling
Summary
8. Versioning Your Code with Subversion (SVN)
Why Subversion?
Understanding the terminology and concepts
Checking out a local working copy
SVN folder structure
Checkout, revisited
Setting up an SVN repository
Checking out a local working copy of our repo
Adding files
Committing changes to the repository
Overcoming errors
Verifying the new state of your repository
Adding more files to your repository
Removing files from the repository
Updating your working copy
Tagging a version
Reverting an entire project
Reverting a single file
Moving files
Exporting your working copy
Quick reference
Summary
9. Preparing Your Plugin for Distribution
Public enemy number one: PHP notices
PHP short tags
Conflicting names
Modifying loader.php
Testing WordPress version
Testing PHP version
Testing MySQL version
Testing PHP modules
Testing WordPress installed plugins
Custom tests
Unit tests
WordPress limitations
Health check page
Storing test results in the database
Death to clippy: Use sensible configurations
Double check your interface
Documentation
Identify the purpose
Learning to drive: Keeping it relevant
Phrasebooks vs. dictionaries: Give examples
Analogy: The three bears
Analogy: PC load letter
The decalog of documentation
Summary
10. Publishing Your Plugin
Internationalization and localization
Processing each message
Choosing a textdomain
Best practices
Working with formatting
More advanced messages
Plural vs. singular
More complex messages
Notes to translators
Language files
Creating a POT file
Creating translations: .po files
Loading a textdomain
Updating a translation
Format for the readme.txt file
Section – installation
Section – Frequently Asked Questions
Section – screenshots
New addition – videos
Section – summary
Requesting and using SVN access
Publicity and promotion
Summary
A. Recommended Resources
PHP reference
Function reference
The WordPress forums
WebDev Studios
Viper007Bond
Kovshenin
SLTaylor
XPlus3
WP Engineer
Other plugins
B. WordPress API Reference
PHP functions
dirname
file_get_contents
preg_match
preg_replace
print_r
sprintf
strtolower
substr
WordPress Functions
__
_e
add_action
add_filter
add_meta_box
add_options_page
check_admin_referer
esc_html
get_option
get_post_meta
get_the_ID
register_post_type
remove_meta_box
screen_icon
the_content
the_meta
update_post_meta
wp_count_posts
wp_die
wp_nonce_field
Actions
admin_init
admin_menu
do_meta_boxes
init
save_post
widgets_init
wp_head
Filters
the_content
Index
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜