Rights Contact Login For More Details
- Wiley
More About This Title Professional WordPress: Design and Development 2e
- English
English
The highly praised resource returns with updated content, examples, and code downloads
WordPress is the most popular self-hosted open source website software in use today, and the latest version makes it even simpler to operate. Packed with real-world examples for load balancing and multiusers, this esteemed resource replaces some of the more basic material with more advanced content. Every single chapter has been reworked to provide the most current and proper methods for developing and designing in WordPress. Coverage of HTML5, CSS3, and JavaScript and new chapters on custom post types, custom taxonomies, Multisite, and extensions of themes bring the content of this book completely up-to-date and provides you with all you need to deploy successful WordPress sites.
Offers an overview of the WordPress system and describes what happens when a WordPress-generated web page is displayedDemonstrates extending WordPress through plugins and customizing it via themesCombines a developer view of user experience and optimization with the deployment requirements for performance, security, and measurementIncludes code downloads and code samples from the book's websiteYou'll be hard pressed to find a reliable resource with more advanced content than Professional WordPress, Second Edition!
- English
English
Brad Williams is the co-founder of WebDevStudios.com, organizes and speaks at WordPress events, and is the coauthor of Professional WordPress Plugin Development.
David Damstra is the Vice President of Professional Services for CU*Answers, where his team of developers empowers clients with WordPress.
Hal Stern is a VP at Juniper Networks and is the coauthor of Blueprints for High Availability.
Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.
- English
English
INTRODUCTION xxi
CHAPTER 1: FIRST POST 1
What Is WordPress? 1
Popularity of WordPress 3
Current State 3
Intersecting the Community 4
WordPress and the GPL 5
Content and Conversation 6
WordPress as a Content Management System 6
Creating Conversation 7
Getting Started 8
Hosting Options 8
Do It Yourself Installation 10
Finishing Up 17
First-Time Administration 17
First Post 19
Summary 20
CHAPTER 2: CODE OVERVIEW 21
Downloading 21
Download Locations 21
Available Formats 22
Release Archive 22
Directory and File Structure 23
WordPress Configuration 24
wp-config.php File 24
Advanced wp-config Options 26
.htaccess 31
The .maintenance File 35
wp-content User Playground 36
Plugins 36
Themes 37
Uploads and Media Directory 37
Upgrade Directory 38
Custom Directories 38
Summary 39
CHAPTER 3: WORKING WITH WORDPRESS LOCALLY 41
Benefits of Working Locally 41
Typical Deployment Cycle 42
Why So Much Process? 42
Tools for Component Administration 43
Getting Your Development Stack 44
Adding WordPress to the Local Install 45
Configuration Details 46
Managing the Web Server Document Tree 46
Enabling Debug Information 48
Handling Local and Production Database 50
Creating Virtual Local Server Names 50
Local Theme and Plugin Development 53
Deploying Local Changes 53
Summary 55
CHAPTER 4: TOUR OF THE CORE 57
What’s in the Core? 57
Using the Core as a Reference 58
Inline Documentation 59
Finding Functions 60
Exploring the Core 62
Deprecated Functions 65
WordPress Codex and Resources 66
What Is the Codex? 66
Using the Codex 66
Function Reference 67
WordPress APIs 69
Codex Controversy 71
Don’t Hack the Core! 71
Why Not? 71
Alternatives to Hacking the Core 72
Summary 72
CHAPTER 5: THE LOOP 73
Understanding the Loop 74
From Query Parameters to SQL 75
Understanding Content in WordPress 76
Putting the Loop in Context 76
Flow of the Loop 77
Template Tags 79
Commonly Used Template Tags 80
Tag Parameters 81
Customizing the Loop 81
Using the WP_Query Object 82
Building a Custom Query 83
Adding Paging to a Loop 85
Using query_posts( ) 86
Using get_posts( ) 87
Resetting a Query 88
More Than One Loop 90
Advanced Queries 91
Global Variables 93
Post Data 93
Author Data 94
User Data 95
Environmental Data 95
Global Variables or Template Tags? 96
Working Outside the Loop 97
Summary 100
CHAPTER 6: DATA MANAGEMENT 101
Database Schema 101
Table Details 103
WordPress Content Tables 104
WordPress Taxonomy Tables 105
WordPress Database Class 106
Simple Database Queries 106
Complex Database Operations 108
Dealing with Errors 110
Direct Database Manipulation 111
Summary 114
CHAPTER 7: CUSTOM POST TYPES, CUSTOM TAXONOMIES,AND METADATA 115
Understanding Data in WordPress 115
What Is a Custom Post Type? 116
Register Custom Post Types 116
Setting Post Type Labels 121
Working with Custom Post Types 122
Custom Post Type Template Files 123
Special Post Type Functions 124
WordPress Taxonomy 126
Default Taxonomies 126
Taxonomy Table Structure 126
Understanding Taxonomy Relationships 127
Building Your Own Taxonomies 128
Custom Taxonomy Overview 128
Creating Custom Taxonomies 128
Setting Custom Taxonomy Labels 131
Using Your Custom Taxonomy 132
Metadata 133
What Is Metadata? 134
Adding Metadata 134
Updating Metadata 135
Deleting Metadata 135
Retrieving Metadata 136
Summary 137
CHAPTER 8: PLUGIN DEVELOPMENT 139
Plugin Packaging 140
Creating a Plugin File 140
Creating the Plugin Header 140
Plugin License 141
Activating and Deactivating Functions 142
Internationalization 143
Determining Paths 145
Plugin Security 147
Nonces 147
Data Validation and Sanitization 148
Know Your Hooks: Actions and Filters 151
Actions and Filters 151
Popular Filter Hooks 153
Popular Action Hooks 154
Plugin Settings 156
Saving Plugin Options 156
Array of Options 157
Creating a Menu and Submenus 158
Creating an Options Page 160
WordPress Integration 169
Creating a Meta Box 169
Shortcodes 174
Creating a Widget 175
Creating a Dashboard Widget 179
Creating Custom Tables 180
Uninstalling Your Plugin 182
Creating a Plugin Example 184
Publishing to the Plugin Directory 203
Restrictions 204
Submitting Your Plugin 204
Creating a readme.txt File 204
Setting Up SVN 208
Publishing to the Plugin Directory 209
Releasing a New Version 210
Summary 210
CHAPTER 9: THEME DEVELOPMENT 211
Why Use a Theme? 211
Installing a Theme 212
FTP Installation 212
Theme Installer 213
What Is a Theme? 213
Template Files 214
CSS 214
Images and Assets 214
Plugins 215
Creating Your Own Theme 215
Project Themes vs. Child Themes 215
What to Look for in a Starter Theme 216
Creating Your Own Theme: Getting Started 217
Essential File: Style.css 217
Showing Your Content: Index.php 218
Showing Your Content in Diff erent Ways: Index.php 220
Creating Your Own Theme: DRY 220
Header.php 221
Footer.php 222
Sidebar.php 222
Deviations from the Norm: Conditional Tags 223
Creating Your Own Theme: Content Display 224
Customizing Your Homepage: Front-Page.php 225
Show Your Older Posts by Date: Archive.php 227
Showing Only One Category: Category.php 228
Show Posts of a Specific Tag: Tag.php 230
Other Archival Templates 231
How to Show a Single Post: Single.php 231
Display a Page: Page.php 232
Display Post Attachments: Attachment.php 233
Template Hierarchy 233
Creating Your Own Theme: Additional Files 235
Handle 404 Errors: 404.php 235
Author.php 236
Comments.php 237
Adding Functionality to Your Templates: Functions.php 238
Search.php 240
SearchForm.php 242
Other Files 242
Custom Page Templates 243
When to Use Custom Page Templates 243
How to Use Custom Page Templates 244
Stock Twenty Eleven Page Templates 245
Other Theme Enhancements 246
Menu Management 246
Widget Areas 248
Post Formats 249
Theme Settings 250
Theme Customizer 251
Theme Hierarchy and Child Themes 251
Premium Themes and Other Theme Frameworks 256
Bones Theme 256
Carrington Theme 257
Genesis Theme 257
Hybrid Core Theme 257
Roots 257
StartBox Theme 258
Thematic Theme 258
Summary 258
CHAPTER 10: MULTISITE 259
What Is Multisite? 259
Multisite Terminology 260
Differences 260
Advantages of Multisite 261
Enabling Multisite 261
Working in a Network 262
Network Admin 263
Creating and Managing Sites 263
Working with Users and Roles 264
Themes and Plugins 264
Settings 265
Domain Mapping 265
Coding for Multisite 265
Blog ID 265
Common Functions 266
Creating a New Site 270
Network Admin Menus 274
Multisite Options 276
Users in a Network 282
Super Admins 285
Network Stats 286
Multisite Database Schema 287
Multisite-Specific Tables 287
Site-Specific Tables 287
Summary 288
CHAPTER 11: CONTENT AGGREGATION 289
Getting Noticed 290
Social Media Buttons 291
Feeding WordPress Upstream 292
Buttons, Badges, or Both? 292
Simple Social Networking Badges 293
Collecting External Content 294
Integrating a YouTube Video 295
Integrating Twitter 296
Google Maps 298
Integrating Facebook 299
Generic XML Data 299
Transients 301
Advertising 303
Monetizing Your Site 303
Setting Up Advertising 304
Privacy and History 307
Summary 308
CHAPTER 12: CRAFTING A USER EXPERIENCE 309
User Experience Principles 309
Consistent Navigation 310
Visual Design Elements 312
Making Content Easy to Find 314
Site Load Times 314
Using JavaScript 316
Usability and Usability Testing 316
Structuring Your Information 318
Getting Your Site Found 320
Duplicate Content 321
Trackbacks and Pings 323
Tags and Content Sharing Sites 324
How Web Standards Get Your Data Discovered 324
Semantic HTML 324
Valid HTML 326
Microformats 327
HTML5 329
CSS3 330
Searching Your Own Site 331
Weaknesses of the Default Search 331
Alternatives and Plugins to Help 332
Mobile Access and Responsive Web Design 334
Leave It Alone 334
Lightweight Mobile 335
Responsive Design 335
Summary 336
CHAPTER 13: STATISTICS, SCALABILITY, SECURITY, AND SPAM 337
Statistics Counters 337
AWStats 338
Google Analytics 340
JetPack by WordPress.com 342
Cache Management 343
WordPress System Complexity 344
Web Server Caching and Optimization 345
WordPress Object Caching 347
Transient Caches 347
MySQL Query Cache 348
Load Balancing Your WordPress Site 349
Dealing with Spam 350
Comment Moderation and CAPTCHAs 350
Automating Spam Detection 351
Securing Your WordPress Site 352
Staying Up-to-Date 352
Hiding WordPress Version Information 353
Limit Login Attempts 354
Using Good Passwords 354
Changing Your Table Prefi x 354
Moving Your Confi guration File 354
Moving Your Content Directory 355
Using the Secret Key Feature 355
Forcing SSL on Login and Admin 356
Apache Permissions 356
MySQL Credentials 357
Recommended Security Plugins 357
Using WordPress Roles 360
Subscriber Role 361
Contributor Role 361
Author Role 361
Editor Role 361
Administrator Role 362
Super Admin Role 362
Role Overview 362
Extending Roles 363
Summary 364
CHAPTER 14: WORDPRESS AS A CONTENT MANAGEMENT SYSTEM 365
Defining Content Management 365
Workflow and Delegation 367
User Roles and Delegation 367
Workfl ow 368
Content Organization 370
Theme and Widget Support 370
Homepages 372
Featured Content Pages 373
Content Hierarchy 376
Interactivity Features 379
Forums 379
Forms 379
E-Commerce 380
Other Content Management Systems 380
WordPress Integration 381
Where Not to Use WordPress 381
Summary 382
CHAPTER 15: WORDPRESS IN THE ENTERPRISE 383
Is WordPress Right for Your Enterprise? 383
When WordPress Isn’t Right for You 385
Scalability 386
Performance Tuning 386
Caching 388
Regular Maintenance 388
Hardware Scaling 389
Integration with Enterprise Identity Management 391
LDAP and Active Directory 391
OpenID and OAuth 392
Content Integration via Feeds 393
Summary 395
CHAPTER 16: WORDPRESS DEVELOPER COMMUNITY 397
Contributing to WordPress 397
Understanding Trac 398
Working on the Core 401
Submitting Plugins and Themes 402
Documentation 402
Sister Projects 403
BuddyPress 403
bbPress 403
Future Projects 403
Resources 404
Codex 404
Support Forums 404
WordPress Chat 405
Mailing Lists 405
External Resources 406
WordCamp and Meetups 407
WordPress.TV 407
Theme/Plugin Directories 407
WordPress Ideas 407
WordPress Development Updates 408
Make WordPress.org 408
WordPress Podcasts 408
WordPress News Sites 409
Summary 410
INDEX 411