WordPress Plugin Development: Beginner's Guide - Vladimir Prelovac - E-Book

WordPress Plugin Development: Beginner's Guide E-Book

Vladimir Prelovac

0,0
31,19 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

If you can write WordPress plug-ins, you can make WordPress do just about anything. From making the site easier to administer, to adding the odd tweak or new feature, to completely changing the way your blog works, plug-ins are the method WordPress offers to customize and extend its functionality. This book will show you how to build all sorts of WordPress plug-ins: admin plug-ins, Widgets, plug-ins that alter your post output, present custom "views" of your blog, and more.
WordPress Plug-in Development (Beginner's Guide) focuses on teaching you all aspects of modern WordPress development. The book uses real and published WordPress plug-ins and follows their creation from the idea to the finishing touches, in a series of carefully picked, easy-to-follow tutorials. You will discover how to use the WordPress API in all typical situations, from displaying output on the site in the beginning to turning WordPress into a CMS in the last chapter. In Chapters 2 to 7 you will develop six concrete plug-ins and conquer all aspects of WordPress development.
Each new chapter and each new plug-in introduces different features of WordPress and how to put them to good use, allowing you to gradually advance your knowledge. This book is written as a guide to take your WordPress skills from the very beginning to the level where you are able to completely understand how WordPress works and how you can use it to your advantage.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 270

Veröffentlichungsjahr: 2009

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

WordPress Plugin Development
Credits
About the Author
About the Reviewer
Preface
What This Book Covers
Who is This Book For
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Piracy
Questions
1. Preparing for WordPress Development
How will you benefit?
WordPress features
More sites means more opportunities
Big players use it
Urgent response to security issues
Flexibility
Search engines friendly
Easy to use
Social aspect
Plugins as tool for promotion
Dogfooding WordPress plugins
Challenges involved
Development
Security
Work after development
Localization
Documentation
Support
Promotion
Plugins developed in this book
Digg This
Live Blogroll
The Wall
Snazzy Archives
Insights
Post Types
Development Goodies
Tools for the job
WordPress
Text editor
FTP client
Web browser
Firebug
Ubiquity
Screengrab
IE tab
Final notes
Installing and managing plugins
Searching documentation
Summary
2. Social Bookmarking
Plugging in your first plugin
Time for action – Create your first plugin
What just happened?
The plugin information header
Checking WordPress versions
Checking the plugin
Time for Action – Testing the version check
What just happened?
Have a go Hero
Displaying a Digg button
Time for Action – Implement a Digg link
What just happened?
Using the Digg API
Submit URL:
Submit URL Details:
Acquiring post information
Post permalink URL
Editing the theme files
Have a go Hero
WordPress plugin hooks
Time for Action – Use a filter hook
What just happened?
WordPress hooks
Filter hooks
Action hooks
Practical filters and actions examples
Upper case titles
Mailing list
Changing core WordPress functionality
Have a go Hero
Adding a Digg button using JavaScript code
Time for Action – Implement a Digg button
What just happened?
Conditional Tags
Styling the output
Time for Action – Use CSS to position the button
What just happened?
Have a go Hero
Summary
3. Live Blogroll
Starting up with the blogroll
Time for action – Roll into the blogroll
What just happened?
RSS Feed Processing
jQuery JavaScript library
Implementing a mouse hover event in jQuery
Time for action – Creating a hover event with jQuery
What just happened?
JavaScript and WordPress
Initializing jQuery
Expanding jQuery knowledge
Creating the pop-up with CSS
Time for action – Apply CSS to the popup
What just happened?
Demystifying Ajax
Simple example of using Ajax
Time for action – Use Ajax to dynamically retrieve feed posts
What just happened?
Using JavaScript with WordPress
Parsing parameters using wp_localize_script
Ajax and WordPress
Ajax in admin panel
jQuery.ajax method
Time for action – Use advanced Ajax call
What just happened?
Ajax script security using nonces
Time for action – Add a security nonce
What just happened?
Summary
4. The Wall
The main concepts behind the Wall plugin
Creating a widget
Time for action – Create a 'Hello World!' widget
What just happened?
Register widgets with description
Widget controls
Time for action – Expanding the widget with controls
What just happened?
WordPress options
Display widget control
Handling widget input
Handling widget output
Create a WordPress page from the code
Time for action – Insert a page
What just happened?
Handling user input
Time for action – Create the wall comment form
What just happened?
Managing Ajax comment submit
Time for action – Save the comments
What just happened?
Using Ajax to submit forms
Saving comments in WordPress post
Dynamically load comments
Time for action – Display the comments
What just happened?
WordPress database query
Comment output
Displaying the comments
Ajax security
Time for action – Display the comments
What just happened?
Have a go Hero
Summary
5. Snazzy Archives
Using a class for plugin
Time for action – Create a new plugin class
What just happened?
Showing template output with shortcodes
Time for action – Use a shortcode
What just happened?
Shortcode API
Enclosing shortcodes
Custom templates
Time for action – Create a custom template
What just happened?
Prepare archives
Time for action – Show archives of posts
What just happened?
Get all posts from database
Using a regular expression
Retrieve comment count for a post
Using output buffers
Apply styling and jQuery to archives
Time for action – Style the archive view
What just happened?
Time for action – Use jQuery to allow user interaction
What just happened?
Have a go Hero
Creating plugin options page
Time for action – Create an options page
What just happened?
Managing plugin options
Handling options form
Adding administration pages
Use plugin options
Time for action – Apply the plugin options
What just happened?
Caching the plugin output
Time for action – Create archives cache
What just happened?
Have a go Hero
Summary
6. Insights for WordPress
Creating custom panels in the editor screen
Time for action – Create a new plugin outline
What just happened?
Custom edit panels in WordPress
Searching the posts
Time for action – Display a list of matching posts
What just happened?
Interacting with tinyMCE
Time for action – Insert the link into tinyMCE
What just happened?
Using Flickr API
Time for action – Display Flickr photos
What just happened?
Using third-party solutions—phpFlickr
Creating a tinyMCE plugin
Time for action – Adding a button to tinyMCE
What just happened?
Create a functional tinyMCE plugin window
Time for action – Open a tinyMCE window
What just happened?
Have a go Hero
Summary
7. Post Types
Handling localization
Time for action – Create plugin and add localization
What just happened?
Optimizing localization usage
How does localization work?
Adding a post template
Time for action – Create 'add photo' post template
What just happened?
Backend CSS classes
Handling file and image uploads
Time for action – Handle uploaded image
What just happened?
Using custom fields
Adding custom fields
Retrieving custom fields
Quick post a link
Time for action – Add link template
What just happened?
Tinkering with WordPress backend menus
Time for action - Remove 'Link' from the Write page
What just happened?
Programming the Manage panel
Time for action – Add post type column in the Manage panel
What just happened?
Modifying an existing column
Manage screen search filter
Time for action – Add a search filter box
What just happened?
Handling error messages
Time for action – Adding support for errors
What just happened?
User roles and capabilities
Time for action – Add user capability checks
What just happened?
Have a go Hero
Summary
8. Development Goodies
Creating Localization files
Time for action - Create a POT file
What just happened?
Updating POT file
Time for action – Perform translation
What just happened?
Updating translation
Documentation and support
Plugin readme file
Time for action – Create a sample plugin readme.txt file
What just happened?
Sections of readme.txt
General information
Special codes
Screenshots
Installation instructions
Plugin homepage
Providing support
Code management and plugin repository
Requesting repository access
Using SVN
Time for action - Manage a local repository using SVN
What just happened?
Tagging a new version
Using WordPress development SVN
Local copy of plugin repository
Promotion
Plugin promotion checklist
General plugin development guidelines
Security
Performance
Re-using resources
Keeping API up-to-date
WordPress MU development
WordPress and GPL
Online resources
WordPress documentation (WordPress Codex)
WordPress development news
WordPress blog
WordPress development updates
WordPress Trac
WordPress dev IRC channel
Debugging and testing
Unit testing
Automated tests
Mailing Lists
WP hackers
WP professionals
Other mailing lists
Podcasts
WordCast
WordPress Weekly
Author's (Vladimir Prelovac's) web site
Summary
Index

WordPress Plugin Development

Beginner's Guide

Vladimir Prelovac

WordPress Plugin Development

Beginner's Guide

Copyright © 2009 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: February 2009

Production Reference: 2200209

Published by Packt Publishing Ltd.

32 Lincoln Road

Olton

Birmingham, B27 6PA, UK.

ISBN 978-1-847193-59-9

www.packtpub.com

Cover Image by Vinayak Chittar (<[email protected]>)

Credits

Author

Vladimir Prelovac

Reviewer

Junal Rahman

Senior Acquisition Editor

David Barnes

Development Editor

Nikhil Bangera

Technical Editor

Mehul Shetty

Copy Editor

Sumathi Sridhar

Indexer

Monica Ajmera

Production Editorial Manager

Abhijeet Deobhakta

Editorial Team Leader

Akshara Aware

Project Team Leader

Lata Basantani

Project Coordinator

Neelkanth Mehta

Proofreader

Lesley Harrison

Production Coordinator

Shantanu Zagade

Cover Work

Shantanu Zagade

About the Author

Vladimir Prelovac is the author of many popular WordPress plugins and articles about WordPress optimization, security and maintenance. He actively uses WordPress platform as a base for Internet development strategy for small & mid-sized businesses.

For Vladimir, WordPress development is a full time job about which he happily blogs on his web site www.prelovac.com/vladimir.

I'd like to thank my editor Mr. Barnes, for leading me through the book writer's path. Dave, Ervin, and guys at Wordcast, for the professional support they showed in such a lovely way. My family for understanding the long, sleepless nights of writing. Finally, I wish to dedicate this book to my mother, Vera Prelovac (1949-2008), who was and will always be my beacon of light.

About the Reviewer

Junal Rahman is a Computer Science graduate from the Independent University of Bangladesh. His areas of expertise include programming with the PHP framework and creating Facebook applications. He has worked for several software companies as a Web Application Developer. During his undergraduate studies Junal fell in love with .NET programming, but as soon as he started his internship, he fell in love with PHP. He currently works as a Development Engineer at Trippert Labs. At Trippert, Junal collaboratively works to create Facebook applications. He also maintains a blog that can be found at http://junal.wordpress.com.

I would like to acknowledge my sister Shiuly, follow your dreams

Preface

If you can write WordPress plugins, you can make WordPress do just about anything. From making the site easier to administer, to adding the odd tweak or new feature, to completely changing the way your blog works; plugins are the method WordPress offers to customize and extend its functionality. This book will show you how to build all sorts of WordPress plugins: admin plugins, Widgets, plugins that alter your post output, present custom "views" of your blog, and more.

This book focuses on teaching you all aspects of modern WordPress development and usage. The book uses real and published WordPress plugins and follows their creation from the idea to the finishing touches, in a series of carefully picked, easy-to-follow tutorials. You will discover how to use the WordPress API in all typical situations, from displaying output on the site in the beginning to turning WordPress into a CMS in the last chapter. In Chapters 2 to 7, you will develop six concrete plugins and conquer all aspects of WordPress plugin development.

Each new chapter and each new plugin introduces different features of WordPress and how to put them to good use, allowing you to gradually advance your knowledge. This book is written as a guide to take your WordPress skills from the very beginning to the level where you are able to completely understand how WordPress works and how you can use it to your advantage.

This is a Packt Beginners Guide, which means it focuses on practical examples and has a fast-paced but friendly approach, with the opportunity to learn by experimentation and play. Each chapter builds a practical plugin from the ground up using step-by-step instructions. Individual sections show you how to code some functionality into your plugin and follow up with a discussion of concepts.

What This Book Covers

Chapter 1 teaches the advantages of WordPress development, and what WordPress has to offer to plugin authors.

Chapter 2 creates a working, useful, and attractive WordPress plugin from scratch. It shows how to extract information using the WordPress API and how to use CSS to improve the look of our plugin.

Chapter 3 explores more cool things we can do with WordPress by livening up the default WordPress blogroll. The purpose of the plugin is to display the most recent posts from the sites listed in the blogroll using a nice pop-up window.

Chapter 4 uses the mixed approach, by taking advantage of creative WordPress and JavaScript techniques, in order to create an Ajax powered 'Wall’ for your blog’s sidebar. It introduces quite a few interesting techniques such as Widgets, interacting with the WordPress Database, and Ajax form submission.

Chapter 5 covers the creation of a very sleek and stylish looking WordPress enhancement. The purpose of the Snazzy Archives plugin will be to present your site archives in a unique visual way. It shows how to manipulate the layout of the template using shortcodes and custom templates.

Chapter 6 is all about digging a little deeper into WordPress and hacking the Write Post screen. It shows how to create custom panels in the various sections of the Write Post screen. It teaches how to access the current WordPress rich text editor, tinyMCE, and create a button on its toolbar.

Chapter 7 explores the possibilities of turning WordPress into a Content Management System (CMS), using methods provided to us by WordPress. It shows how to modify the Manage Posts panel to display the information we want. It also covers managing who can use your plugin by looking at the logged in user capabilities.

Chapter 8 covers the additional steps involved in localizing, documenting, publishing, and promoting your plugin. It also covers useful tips and ideas to improve your general WordPress knowledge further.

Who is This Book For

This book is for programmers working with WordPress, who want to develop custom plugins and to hack the code base. You need to be familiar with the basics of WordPress and PHP programming and believe that code is poetry; this book will handle the rest.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text are shown as follows: "Edit the insights.js file and add the functionality to insert the HTML directly into tinyMCE."

A block of code will be set as follows:

/* Add Digg link to the end of the post */ function WPDiggThis_ContentFilter($content) { return $content.WPDiggThis_Link(); }

When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:

<?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>’); ?> <?php if (function_exists(WPDiggThis_Link)) echo WPDiggThis_Link(); ?>

New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this:

"Go to your WordPress Plugins admin panel."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader Feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to <[email protected]>, making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer Support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the Example Code for the Book

Visit http://www.packtpub.com/files/code/3599_Code.zip to directly download the example code.

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata are added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide the location address or website name immediately so we can pursue a remedy.

Please contact us at <[email protected]> with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at <[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.

Chapter 1. Preparing for WordPress Development

If you are holding this book in your hands now, you are probably aware—in one way or the other—of the tremendous success WordPress platform has seen over the past few years. It has become the most widespread blogging and publishing platform in the world today.

When I first installed WordPress, I was still looking around for a platform to start my personal site and also for an opportunity to do more online development work.

After seeing the simple installation procedure (which takes just a few minutes), I realized that the guys behind WordPress are on to something big. It has indeed proven to be so, and as the days passed by, I have enjoyed every aspect of WordPress—publishing, social, and development.

And I am thrilled to share these nits and bits of WordPress development information with you, showing you the power and flexibility that allowed WordPress to become so popular.

How will you benefit?

Thanks to its open source architecture, ease of use, and customization possibilities, WordPress has succeeded in differentiating itself from other weblog publishing platforms and even other open source solutions.

WordPress features

The main WordPress features of interest to developers are:

Its a huge community of users and developersThe millions of WordPress blogsMajor sites using it, including a number of US government agenciesSecurity issues treated almost instantlyUnmatched flexibility with thousands of available pluginsHigh level of customizability with thousands of available themesSearch engine friendly functionalitiesEase of use, maintenance, and upgradeA great way to meet new people!

With such a list, it is no wonder that—every day—more and more private users and companies are turning to WordPress for their publishing needs. This of course presents a fertile ground for WordPress developers to show off their skills.

More sites means more opportunities

The opportunity for a WordPress developer in these circumstances becomes obvious.

With such a huge number of sites running it, the market is hungry for WordPress experts, and not just development experts. If you are proficient in the installation and setup of WordPress, you may easily have your hands full of work.

Big players use it

The fact that a number of major sites use WordPress means that there is also an opportunity for highprofile work.

This also means that you can be fairly certain about the future of WordPress. Your investment in time and efforts, first in reading this book, and then in enhancing your development skills, is likely to pay off with WordPress.

Urgent response to security issues

With online security becoming a bigger issue each day, it is a relief to see the WordPress development team reacting promptly to newly discovered security issues.

This makes everyone even more comfortable and confident in using WordPress.

Flexibility

With WordPress, the plugin author is allowed total control over every aspect of the site. You are able to completely customize the way the site looks and behaves.

The opportunity is there for everyone—from beginners (developing useful plugins) to professionals (creating total WordPress makeovers such as e-commerce, marketing, or job portal sites—where you can hardly recognize that the site is running a WordPress installation).

Search engines friendly

SearchEngineOptimization (SEO) is an important aspect of today's Internet presence. Just creating a site is not enough anymore, as there are now hundreds of millions of competing websites out there.

Using a platform such as WordPress will be really valuable, especially in the long term. WordPress has significant built-in SEO features and also most of the other aspects of modern SEO technologies available through custom plugins (and you can always write one to match your needs!)

Tip

Becoming proficient in SEO concepts can help you a lot as a WordPress developer, as the need for both WordPress and SEO skills is growing fast.

Easy to use

WordPress is meant for beginners and used by professionals. This mix is rarely seen in any other open source platforms.

After the five minute installation, most users immediately feel comfortable in the WordPress administration panels. Writing a post and organizing categories is as simple as it should be.

The whole WordPress installation consists of putting the files on the server and setting the assigned database, and it is very easy to back up or move it to another server.

WordPress and its plugins can be upgraded with a click of a button; all this makes the job of maintaining a WordPress website (or even several at the same time), a breeze.

Social aspect

If you are a WordPress developer, the chances are that you will have your own hosted WordPress blog. Having a personal blog creates a great opportunity to create many new contacts—both business and friends.

When you release a WordPress plugin, you will meet hundreds of people who are going to use it on their own sites. You will also have people visit you for support, or just to say Thankyou!

Plugins as tool for promotion

With such a huge user base, a well written plugin will probably be downloaded tens of thousands of times.

This will create awareness about you as a plugin author and your site as a probable source for some cool stuff. Having in mind how difficult it is to get noticed on the Internet today, this becomes a very important aspect of plugin development that you get forfree.

Creating fresh, new, and usable plugins can help you go a long way. It has really helped me a lot in my field of work and has created a lot of opportunities–one certainly being, the pleasure of writing this book.

Dogfooding WordPress plugins

You may sometimes wish to create a plugin just for yourself, to fulfil a specific need that can arise at a given moment. This is how I started writing plugins initially, as I needed certain functionalities that were not available in WordPress at the time.

The term dogfooding describes a dog food company that is ready to eatitsowndogfood. It means the company is confident about its own product and uses it for the purpose it was produced for.

In WordPress' terms, it means that you should always strive to create a plugin that satisfies your needs. On my personal site, I still use almost all of the plugins I created, and I only update them over time, as and when WordPress is updated, or my needs change.

This has a positive side effect of ensuring that your plugins will probably be attractive to many other users as well. Assuming that you are critical about your own work, and your confidence in using your own plugins sends out a clear message on how good they are.

Challenges involved

Developing WordPress plugins is not always an easy job. It brings a number of challenges that you will need to overcome.

Development

WordPress uses PHP and provides an API with its own functions. The API has grown over time, and now covers all possible methods of communication between WordPress and the plugin.

This book will cover all the aspects of the API with practical examples, and the development of six concrete plugins (chapters 2-7). Through step-by-step guides to creating these plugins, you will discover how to use API in typical situations, from displaying output on the site in the beginning, to turning WordPress into a CMS at the end.

Each new chapter and each new plugin will introduce different features of WordPress, and how to put them to good use, thereby allowing you to gradually advance your knowledge.

Security

As much as WordPress team takes care of the WordPress core, you need to take care of security in your plugins. Always remember that your plugin is given the ultimate authority on the user's site. This is a great feature that allowed WordPress to become popular; but with that it also carries a great deal of responsibility.

This book will show the methods and functions best suited to the given situations, and underline the security implications. There are not too many issues to worry about, so make sure you remember the implications and best practices and apply them to your plugins.

Work after development

Once the development work is done and the plugin is finished, a lot of authors face the question: What now? If you plan to release the plugin to the public, there are a few extra steps you need to take care of.

This book will give you practical tips in this area—refer to Chapter 8.

It will cover the process that takes you from the end of the development phase to the first users coming back to you with feedback and questions. I have learned much from my own plugin development experience, and I will also be referencing some of the resources available online .

Localization

At the moment, WordPress is translated into more than 50 languages worldwide. The number of users using WordPress in their native language is growing each day, and they usually prefer using plugins that support their own language.

Localization in WordPress is easy, and the best thing is that you will not have to do any translation. There will always be users interested in translating your plugin to their own language and sending you the file back. This is the way it works, and it is mutually beneficial.

Documentation

Writing documentation is often boring work but I will show you templates which will help you to do it more efficiently and also point out the benefits of writing good documentation.

I will also cover the necessary steps to manage your plugin using SVN (Subversion), and submit it to the WordPress Plugin Repository—the central repository of all WordPress plugins which currently hosts thousands of plugins and has served millions of downloads.

Support

Good documentation goes a long way when it comes to support.

You can expect hundreds of user questions pouring in after you release a plugin. So, making sure that you have a well written documentation will save you a lot of time in answering those questions.

I will also give some practical tips on how to organize your plugin page.

Promotion

Writing a good plugin that nobody knows about is a fruitless effort.

I will give you tips on how to promote your plugin once it is published. If you have created a really useful plugin, you can expect a snowball effect when users start to write about it on their blogs and tell their friends about it.

Plugins developed in this book

This introduction chapter is followed by seven chapters; six of which describe the creation of WordPress plugins and a final chapter dealing with post-development issues:

Digg ThisLive BlogrollThe WallSnazzy ArchivesInsightsPost TypesDevelopment Goodies

Various development topics and WordPress specific functions are introduced throughout the development of these plugins, using concrete, step-by-step practical examples.

Digg This

This is the first plugin we will be developing. This plugin will show a Digg button in your blog posts.

The purpose of this plugin will also be to introduce you to the basic concepts of WordPress plugin development.

We will access some of the basic WordPress API functions, and talk about filters and actions which are the WordPress mechanisms for controlling the workflow of the site.

Live Blogroll

The second plugin comes from the idea of making the default blogroll look a little bit more exciting.

We will expand our knowledge of WordPress API, but also introduce two very important allies in WordPress plugin development, namely jQuery and Ajax.

jQuery and Ajax technologies help our plugins become more engaging, and we will learn the basic concepts of using them through a series of practical examples.

The Wall

This chapter is all about WP Wall; a plugin that creates a shoutbox on your blog's sidebar, where users can leave comments and shouts.

The chapter teaches important lessons, including how to create a widget and interact with the WordPress database. It also expands the usage of Ajax to include dynamic interaction with the user.

I will also try to engage you to think about WordPress plugin development in a slightly different way.

Snazzy Archives

If plugins can be classified by beauty, this would be the most beautiful plugin in the book. It will display your blog archives in a way you probably have not seen before.

During the creation of the plugin, we will explore how to interact with posts, create plugin options, and manage them through a settings page in the administration. We will then use all that knowledge to produce a beautiful representation of your blog's archives.

Insights

Insights plugin will add to the productivity of the blog owner by offering quick access to common information in the Write Post screen.

In this chapter, we will learn how to change the WordPress Write Post screen and interact with the built-in TinyMCE editor. We will use Ajax to get information delivered directly into our post while we write it!

Post Types

The final plugin of the book will see us working more closely with the WordPress backend, and explore ways to transform WordPress into a versatile Content Management System (CMS).

We will learn how to customize the administration menus and pages, use custom fields to store additional information, explore user capabilities system, and use localization.

Development Goodies

After all the hard work in developing those plugins, comes a chapter dedicated to all the post-development work (after-hour party!).

The purpose of this chapter will be to explain localization, documentation, code management, and plugin promotion. It will also give you some information regarding WordPress MU development. Wordpress MU is a multi user version of WordPress that is becoming more popular each day.

Tools for the job

Before we get started, we need to have some tools set up, so let's go through a short check list.

Whatever way you decide to set up your development environment, make sure you are comfortable using it. Plugin development can be a full-time job, so make sure you enjoy it as much as you can!

WordPress

Obviously, we will need WordPress installed. It is advisable to have a separate version of WordPress for development purposes (that is, do not use your blog as a testing ground; your visitors will not like it very much).

To pre