You are previewing Smashing WordPress: Beyond The Blog.
O'Reilly logo
Smashing WordPress: Beyond The Blog

Book Description

GO BEYOND THE BLOG

Smashing WordPress shows you how to utilize the power of the WordPress platform, and provides a creative spark to help you build WordPress-powered sites that go beyond the obvious. You will learn the core concepts used to build just about anything in WordPress, resulting in fast deployments and greater design flexibility.

Inside, WordPress expert Thord Daniel Hedengren takes you beyond the blog and shows you how WordPress can serve as a CMS, a photo gallery, an e-commerce site, and more.

YOU WILL LEARN:

  • THE ANATOMY OF A WP INSTALL AND HOW WORDPRESS ACTUALLY WORKS

  • HOW TO BUILD BEAUTIFUL WORDPRESS THEMES - INCLUDING CHILD THEMES

  • HOW TO CREATE CUSTOM LOGIN FORMS AND ADMIN THEMES

  • HOW TO USE THE LOOP TO CONTROL CONTENT, AND EVEN USE ALTERNATIVES TO THE LOOP

  • HOW TO INTEGRATE THEME OPTIONS

  • HOW TO BUILD PLUGINS - INCLUDING WIDGET FUNCTIONALITY

  • HOW TO BUILD YOUR WORDPRESS PROJECTS FOR SEO

  • INTEGRATE WORDPRESS WITH THE SOCIAL WEB

  • HOW TO CREATE AMAZING NAVIGATION

  • HOW TO USE CONDITIONAL CONTROL ELEMENTS

Table of Contents

  1. Copyright
  2. About the Author
  3. Publisher's Acknowledgments
  4. Introduction
    1. Part 1: The WordPress Essentials
    2. Part 2: Designing and Developing WordPress Themes
    3. Part 3: Developing WordPres Plugins
    4. Part 4: Beyond the Blog
    5. Part 5: WordPress Toolbox
    6. Start Thinking, Get Publishing!
  5. I. THE WORDPRESS ESSENTIALS
    1. 1. ANATOMY OF A WORDPRESS INSTALL
      1. 1.1. The Basic Install
        1. 1.1.1. Using an External Database Server
        2. 1.1.2. Other Database Settings
        3. 1.1.3. A Few Words on Installers
      2. 1.2. Moving the WordPress Install to a Different Directory
      3. 1.3. Hacking the Database
        1. 1.3.1. Where Everything Is
        2. 1.3.2. Fixing Issues by Hacking the Database
      4. 1.4. Backing Up
      5. 1.5. WordPress and Switching Hosts
        1. 1.5.1. When Export/Import Won't Work
      6. 1.6. How to Make a WordPress Install More Secure
        1. 1.6.1. Users and Passwords
        2. 1.6.2. Server-side Stuff
      7. 1.7. Summary
    2. 2. THE WORDPRESS SYNTAX
      1. 2.1. WordPress and PHP
      2. 2.2. Themes and Templates
        1. 2.2.1. About the WordPress Core
      3. 2.3. Using the Template Tags
      4. 2.4. The Include Tags
      5. 2.5. Passing Multiple Parameters to a Template Tag
        1. 2.5.1. More on Parameters
      6. 2.6. Conditional Tags
      7. 2.7. Summary
    3. 3. THE LOOP
      1. 3.1. Understanding the WordPress Loop
        1. 3.1.1. The Basic Loop
        2. 3.1.2. A Few Words about WP_Query
      2. 3.2. Using the Loop
        1. 3.2.1. About Those Sticky Posts
        2. 3.2.2. Putting query_posts() to Good Use
        3. 3.2.3. Alternatives to the Loop
      3. 3.3. Multiple Loops
        1. 3.3.1. Featured Posts with Multiple Loops
        2. 3.3.2. Three's a Charm, But Four Loops Are Way Cooler
      4. 3.4. Custom Fields
        1. 3.4.1. Posting Header Images
      5. 3.5. Now You Get to Build Something
  6. II. DESIGNING AND DEVELOPING WORDPRESS THEMES
    1. 4. THE WORDPRESS THEME ESSENTIALS
      1. 4.1. Theme Basics
        1. 4.1.1. The Basic Theme
        2. 4.1.2. A Few Words about the Code
      2. 4.2. A Closer Look at Notes Blog Core
        1. 4.2.1. The Stylesheet: style.css
        2. 4.2.2. Theme Top: header.php
        3. 4.2.3. The Main Template: index.php
        4. 4.2.4. Side Order: sidebar.php
        5. 4.2.5. Soapboxing: comments.php
        6. 4.2.6. Wrapping Up: footer.php
        7. 4.2.7. Wait, There's More!
      3. 4.3. Template Files
        1. 4.3.1. Which Template File is Used When?
        2. 4.3.2. Template Hierarchy
        3. 4.3.3. Page Templates
        4. 4.3.4. The 404 Template
      4. 4.4. Using functions.php
        1. 4.4.1. Setting the Default Width
        2. 4.4.2. Inserting Promotions with functions.php
      5. 4.5. Widgets, and When to Use Them
        1. 4.5.1. Declaring Widgets
        2. 4.5.2. Multiple Widget Areas
        3. 4.5.3. Customizing Widgets
      6. 4.6. Making Comments Look Good
        1. 4.6.1. Threaded Comments
        2. 4.6.2. Author Highlighting
      7. 4.7. Custom Fields
        1. 4.7.1. Common Usage
        2. 4.7.2. The Usability Factor
      8. 4.8. Developing a Core Theme
      9. 4.9. Releasing a Theme
        1. 4.9.1. Theme Checklists
          1. 4.9.1.1. Development Issues
          2. 4.9.1.2. Things the User Will Notice
          3. 4.9.1.3. Formatting
        2. 4.9.2. Commercial Themes and the GPL License
        3. 4.9.3. Submitting to wordpress.org
          1. 4.9.3.1. Colors
          2. 4.9.3.2. Columns
          3. 4.9.3.3. Width
          4. 4.9.3.4. Features
          5. 4.9.3.5. Subject
      10. 4.10. Moving Onward with Themes
    2. 5. THE CHILD THEME CONCEPT
      1. 5.1. The Brilliance of Child Themes
        1. 5.1.1. How Child Themes Work
        2. 5.1.2. Event Child Themes
      2. 5.2. A Few Words on Theme Semantics
      3. 5.3. The Flipside of Inheritance
        1. 5.3.1. Common Issues to Observe
      4. 5.4. Managing Several Sites Using Child Themes
        1. 5.4.1. Don't Forget about functions.php
      5. 5.5. What about Theme Frameworks?
      6. 5.6. Taking Themes to the Next Level
    3. 6. ADVANCED THEME USAGE
      1. 6.1. Outlining the Theme
        1. 6.1.1. My Three Steps
          1. 6.1.1.1. Style by Category, Sort by Tag
          2. 6.1.1.2. Carefully Consider Custom Fields
          3. 6.1.1.3. Build with Pages
      2. 6.2. Individual Styling Techniques
        1. 6.2.1. Styling the Posts
        2. 6.2.2. Body Class Styling
        3. 6.2.3. Sticky Posts
      3. 6.3. Mastering Action Hooks
        1. 6.3.1. Hooking On
        2. 6.3.2. Creating Your Own Action Hooks
      4. 6.4. Using Taxonomies
      5. 6.5. Theme Option Pages
        1. 6.5.1. Creating a Simple Admin Page
        2. 6.5.2. Issues with Theme Options
      6. 6.6. Multiple Language Support
        1. 6.6.1. Working with Language Files
        2. 6.6.2. The Naming Issue
      7. 6.7. Conditional Design
      8. 6.8. Working with RSS Feeds
        1. 6.8.1. The WordPress Feeds
        2. 6.8.2. Build a Custom Feed URL
      9. 6.9. Basic SEO Implementations
      10. 6.10. Trimming WordPress on the Theme Side
      11. 6.11. Some Final Words on Themes
  7. III. DEVELOPING WORDPRESS PLUGINS
    1. 7. ANATOMY OF A WORDPRESS PLUGIN
      1. 7.1. Plugin Basics
      2. 7.2. Hooks and How to Use Them
      3. 7.3. Creating Your Own Template Tags
      4. 7.4. The Pluggable Functions
      5. 7.5. Must-have Functionality
        1. 7.5.1. Plugin Settings
        2. 7.5.2. Database Content and Uninstalling
        3. 7.5.3. After Uninstalling
      6. 7.6. Adding Widget Support
        1. 7.6.1. Dashboard Widgets
      7. 7.7. Things to Consider When Using the Database
      8. 7.8. Backwards Compatibility
      9. 7.9. Plugins and WordPress MU
        1. 7.9.1. Developing Plugins for WordPress MU
        2. 7.9.2. Site-wide WordPress MU Plugins
      10. 7.10. Good Practice for Releasing Plugins
      11. 7.11. This Is Really All You Need
    2. 8. PLUGINS AND FUNCTIONS.PHP
      1. 8.1. When to Use a Plugin
      2. 8.2. The Issue with Speed
      3. 8.3. When to Use functions.php
      4. 8.4. Planning Your WordPress Site
  8. IV. BEYOND THE BLOG
    1. 9. WORDPRESS AS A CMS
      1. 9.1. What Is a CMS?
        1. 9.1.1. Why WordPress?
      2. 9.2. Things to Consider When Using WordPress as a CMS
        1. 9.2.1. Don't Forget the Manual
      3. 9.3. Trimming WordPress to the Essentials
        1. 9.3.1. Tweaking the Admin Interface
        2. 9.3.2. Your Own Admin Theme
        3. 9.3.3. Unblogging WordPress
          1. 9.3.3.1. Template Files
          2. 9.3.3.2. Lingo
      4. 9.4. Static Pages and News Content
        1. 9.4.1. Finding the Perfect Setup
      5. 9.5. Putting Widgets to Good Use
        1. 9.5.1. Making Widgets a Little More Dynamic
      6. 9.6. Managing Menus
      7. 9.7. Custom Shortcodes
        1. 9.7.1. Spiffing up Text with Pullquotes
        2. 9.7.2. Shortcode Tidbits
      8. 9.8. Integrating Non-WordPress Content
      9. 9.9. Taking the CMS One Step Further
    2. 10. UNCOMMON WORDPRESS USAGE
      1. 10.1. The Job Board
        1. 10.1.1. The Theme
          1. 10.1.1.1. The Header and Footer Templates
          2. 10.1.1.2. The Front Page
          3. 10.1.1.3. Single Post View
          4. 10.1.1.4. Listings and Other Results
          5. 10.1.1.5. Finally, the Stylesheet
        2. 10.1.2. Receiving the Jobs
        3. 10.1.3. Further Development
      2. 10.2. WordPress as an FAQ-like Knowledge Base
        1. 10.2.1. Adding the Functionality
        2. 10.2.2. Further Enhancements
      3. 10.3. WordPress and E-Commerce
        1. 10.3.1. Running a Web Shop on WordPress
        2. 10.3.2. Selling Digital Products
        3. 10.3.3. Building for E-Commerce
      4. 10.4. The Portfolio Site
        1. 10.4.1. Designing a Portfolio
          1. 10.4.1.1. The Design Category
          2. 10.4.1.2. The Writing Category
          3. 10.4.1.3. The Announcement Category
          4. 10.4.1.4. Services and Contact Pages
          5. 10.4.1.5. The Code
        2. 10.4.2. WordPress and One-page Designs
      5. 10.5. Building a Links Site
        1. 10.5.1. Some Thoughts about Usage
        2. 10.5.2. Mixing Links Posts with Traditional Content
      6. 10.6. The Gallery
        1. 10.6.1. The Category Template
        2. 10.6.2. About the Photosets
        3. 10.6.3. Other Uses
      7. 10.7. You Can Build Anything You Want
    3. 11. ESSENTIAL WORDPRESS PLUGINS
      1. 11.1. Content-focused Plugins
      2. 11.2. Media Plugins
      3. 11.3. Administrative Plugins
      4. 11.4. Spam and Comment Management Plugins
      5. 11.5. Social Networking Plugins
      6. 11.6. Subscription and Mobile Plugins
      7. 11.7. SEO and Search Plugins
      8. 11.8. Code and Output Plugins
      9. 11.9. Do You Need a Plugin?
  9. V. WORDPRESS TOOLBOX
    1. 12. DESIGN TRICKERY
      1. 12.1. Tag-based Design
        1. 12.1.1. The Alternative: Custom Fields
      2. 12.2. Improving the Menu
        1. 12.2.1. Proper Use of WordPress Pages
        2. 12.2.2. Sliding Doors
        3. 12.2.3. Using Links for the Menu
      3. 12.3. Placing Ads Within the Loop
        1. 12.3.1. Beware of the Ad Rules
      4. 12.4. 404s That Help
      5. 12.5. The WordPress JavaScripts
      6. 12.6. Making WordPress Your Own
        1. 12.6.1. A Custom Login Form
        2. 12.6.2. Admin Themes
      7. 12.7. Polishing a WordPress Site
    2. 13. EXTRA FUNCTIONALITY
      1. 13.1. Tabbed Boxes
        1. 13.1.1. Smart Usage
        2. 13.1.2. To Tab or Not to Tab
      2. 13.2. Displaying RSS Feeds
        1. 13.2.1. The Built-in Parser
        2. 13.2.2. When to Use the Widget Solution
        3. 13.2.3. Multiple Feeds with SimplePie
      3. 13.3. Sending e-Mail with WordPress
      4. 13.4. Adding a Login Form
      5. 13.5. Print That Blog
      6. 13.6. Adding Some More
    3. 14. FUN WITH IMAGES
      1. 14.1. Working with Image Galleries
      2. 14.2. Styling the Gallery
        1. 14.2.1. Better Browsing with Lightbox
        2. 14.2.2. Using Outside Scripts and Systems
      3. 14.3. Random Image Elements
        1. 14.3.1. Random Images from Your Galleries
        2. 14.3.2. More Random Image Options
      4. 14.4. Making the Most of Image-sharing Services
        1. 14.4.1. Posting from Flickr
        2. 14.4.2. The Flickr Slideshow
      5. 14.5. Beware the Clutter
    4. 15. INTEGRATING THE SOCIAL WEB
      1. 15.1. Show off Your Twitter
        1. 15.1.1. Your Tweets
        2. 15.1.2. Display a Twitter Search Result
        3. 15.1.3. Twitter Site Extensions
          1. 15.1.3.1. Site Enhancers
          2. 15.1.3.2. Buttons, Widgets, and Counters
          3. 15.1.3.3. URL Shorteners
      2. 15.2. Lifestreaming with WordPress
        1. 15.2.1. Setting up a Lifestream
          1. 15.2.1.1. The Built-in RSS Way
          2. 15.2.1.2. Use a Lifestreaming Plugin
          3. 15.2.1.3. Feed the WordPress Database
        2. 15.2.2. About Those Cronjobs
      3. 15.3. Social Web Submit Buttons
        1. 15.3.1. Using Plugins
        2. 15.3.2. Hacking Your Own Submit Links
      4. 15.4. Pimping the Comments
        1. 15.4.1. Hosted Comment Solutions
        2. 15.4.2. Unified Logins
      5. 15.5. About Building Great Sites