Saturday, May 18, 2013

Theme Directory

It’s been a long time since themes.wordpress.net stopped accepting new themes. Since then most theme authors have been distributing their themes from their own sites, without a good centralized place for people to browse, search, comment on, and rate themes. With the success of the plugins directory, we’ve wanted to have those same benefits in a theme directory. Today is the day we start making that happen, with the introduction of wordpress.org/extend/themes/.

Bringing the new theme directory under the WordPress “extend” umbrella allowed us to take advantage of all the infrastructure that has already been built up to support WordPress.org. If you’ve browsed through the plugin directory, you’ll feel right at home in the new theme directory.

We’ve gone through great lengths to make this as painless as possible for theme authors. You don’t need to know anything about Subversion (our back end magic takes care of all that for you), just login with your WordPress.org username and password and go to the upload page. From there you upload your regular theme zip file and we take care of the rest.

Once you upload your new theme we do a few automated checks for some of the requirements for each theme. If we find one that you missed we’ll provide you an error and description of what needs to be fixed. When a theme upload has been accepted we’ll send you an email and put it in the queue to be reviewed, to make sure we didn’t miss anything. After the theme has been approved you’ll get another email letting you know that the theme is now live.

That catches you up to where we’re at today. When you finish that theme you’ve been slaving over, upload it to the new directory and let us know what you think. Since so much has changed since the old theme directory we’re starting fresh from zero. If you’ve got specific questions or suggestions contact us and we’ll do our best to get them answered.

WordPress Optimization

If you run a high traffic WordPress installation you will want to optimize WordPress and your server to run as efficiently as possible. This article is a general overview of the avenues to pursue. It's not a detailed technical explanation of each aspect.

If you need a quick fix now, go straight to the caching page, you'll get the biggest benefit for the smallest hassle there.

For a quick introduction to WordPress Optimization see the cheat sheet. For all the articles on optimizing wordpress see the WordPress Optimization category.

 Hosting Specific
The optimization techniques available to you will depend on your hosting setup. This article is divided into categories according to hosting type.

Shared Hosting
This is the most common type of hosting. Your site will be hosted on a server along with many others. The hosting company manage the web server for you, so you have very little control over server settings and so on. The areas most relevant to this type of hosting are:
    Caching
    WordPress Performance

Other areas which may be of interest include:
    Offloading

Virtual / Dedicated Server

In this hosting scenario you have control over your own server. The server might be a dedicated piece of hardware or one of many virtual servers sharing the same physical hardware. The key thing is, you have control over the server settings. In addition to the areas above (caching and wordPress performance, the key areas of interest here are:

    Server Optimization
Other areas which may be of interest include:
    Offloading

Multiple Servers
Once you're dealing with very high traffic situations it may be necessary to employ multiple servers. If you're at this level, you should already have employed all of the applicable techniques listed above.

The WordPress database can be easily moved to a different server and only requires a small change to the config file. Likewise images and other static files can be moved to alternative servers (see offloading).

If you're employing multiple database servers, the HyperDB class provides a drop in replacement for the standard WPDB class and can handle multiple database servers in both replicated and partitioned structures.

WordPress MU Optimization
Many of the server side techniques discussed here also apply to WordPress MU.
Further Reading

In addition to the articles linked above, these resources may provide more information.

Presentation at WordCamp 2007 on HyperDB and High Performance WordPress:
    Video of the Presentation
    Copy of the Slides

Integrating Wordpress with Your Website

There are two common ways of integrating WordPress into your existing site:


One, you can install Wordpress, write your posts, and then use PHP or Javascript to integrate the feed directly into your existing design. The drawback with this is if you want to include any links in the feed (for example, to read the rest of the post or add comments). If they click a link, it has to take them somewhere and by default they'll go to your installation of Wordpress which will most likely look nothing like your existing website.

Two, you can take your existing design, tables or CSS, and create a Wordpress theme that matches your site exactly. Then, apply it to your Wordpress installation and you can now have a "/blog" (or whatever you decide to use Wordpress for) that looks and feels exactly like your website. Thus, while it doesn't actually sound like an integration, the result for your end users is the same: you've added the functionality of Wordpress without sacrificing your design and now offer your users added functionality with total continuity.


Thursday, May 9, 2013

Description of how to find and install a non-English blog in WordPress

Although WordPress displays in U.S. English by default, the software has the built-in capability to be used in any language. The WordPress community has already translated WordPress into many languages, and there are Themes, translation files, and support available in many other languages.

If you want to use WordPress in another language, you can do the following:

    Check below to see what is already available in your language.
    Read Installing WordPress in Your Language to learn how to install files that will transform WordPress so it displays in your language.
    If your language is not listed below, you can also try the WordPress Language File Repository (see this article on the Repository for more information).
    If your language is not available in the Repository or on this page, or if the available translation needs to be improved, you can help! See Translating WordPress for more information.
    There is also a list of localization teams and localization teams currently forming, which you can check to see if a translation is in progress.
    There are also a variety of WordPress Plugins to help create bilingual posts, translations, and change languages between posts. For more information see the Official WordPress Plugin Directory and WordPress Plugin Database.


Afrikaans (af)

    The Afrikaans translation page at locamotion.org.
    General information for WordPress translators at locamotion.org
    Quick Start Guide for new translators at locamotion.org's Pootle server

The team consists of Samuel Murray, and is active as of June 2008. Please, feel free to join me!

Please note: All attempts to contact the previous Afrikaans team have failed. The previous team used Launchpad[1][2] and had a WordPress team blog[3].
Arabic – عربي (ar)

    Arabic WordPress Site: Arabic.WordPress.net

ووردبريس العربي
Azeri - Azərbaycan

    Azərbaycan, WordPress Site: [unavailable]

Bangla - Bengali (bn_BD)

    Bengali localization of wordpress. Project Code: Meghdut
    Collaborative Translation portal

Comprehensive list of resources for plugin developers


Plugins are tools to extend the functionality of WordPress. The core of WordPress is designed to be lean, to maximize flexibility and minimize code bloat. Plugins offer custom functions and features so that each user can tailor their site to their specific needs.

This article is a comprehensive list of resources related to plugins and plugin development.
General Plugin References

    Managing Plugins - How to find, install, manage, and troubleshoot plugins
    Plugins - WordPress plugin list, and links to other plugin repositories
    Plugins/Plugin Compatibility - List of which plugins are compatible with which versions of WordPress

Plugin Development Basics

    Writing a Plugin - Best starting place for learning about how to develop Plugins
    Plugin API - Description of how to use Hooks (Actions and Filters) in your Plugins, and WordPress functions that plugins can override.
    Adding Administration Menus - How to add management menus to your plugin
    Plugin Submission and Promotion - Once you have written your plugin, here are some hints on distributing it widely
    Migrating Plugins and Themes - Contains information on how to upgrade your Plugin so it will work from version to version of WordPress
    Determining Plugin and Content Directories - Example code and explanation of how to determine where your plugin files/folders will be in relation to the server and wordpress install.


External Resources:

    WordPress Plugins Database's FAQ on writing plugins
    Updating WordPress Plugins for 1.5.1
    Your First Wordpress Plugin (video demonstration)
    Anatomy of a new Plugin (traduzione italiana)
    Writing a WordPress Plugin Part I and Part II
    Simplified AJAX For WordPress Plugin Developers using Jquery

Plugin Development - Reference

    Plugin API/Filter Reference - Reference list of filter hooks available in WordPress
    Plugin API/Action Reference - Reference list of action hooks available in WordPress
    Function Reference - Complete PHP function reference for WordPress (version 2.1, with links to previous versions)
    Option Reference - Large list of options that WordPress installs by default (version 2.3.1, no links to previous versions)
    Database Description - Description of the WordPress Database (version 2.1; has links to older version articles)
    Query Overview - Description of the WordPress query process used to find posts and display them
    WordPress Coding Standards - General information about coding standards for WordPress development
    WordPress Deprecated Functions Hook - WordPress 2.4 adds two hooks for when deprecated functions are used, here is how to use them.

External Resources:

    Pluggable Functions
    Skippy's list of actions and filters
    WordPress Hooks, a work in progress directory of all of WordPress’ hooks.
    WordPress Hooks Database, a database of all WordPress' hooks, showing which version they come from, and linking to the source code spots that use them
    Angsuman's list, a comprehensive listing of WordPress action hooks with documentation and source code location information. It contains all documented and undocumented action hooks in WordPress 2.0.

Plugin Development - Special Topics

    Creating Admin Themes - How to create a Plugin that changes the look of the Admin section
    Creating Tables with Plugins - How to store your plugin's data in a new table in the WordPress database
    Custom Queries - How to implement custom queries that let a plugin control which posts are displayed and in what order
    AJAX in Plugins - How to add AJAX functionality to your plugin, in the administration screens or viewer-facing pages
    Hacking WordPress - Other types of "hacks" for WordPress
    Creating Options Pages - How to easily create custom options pages and have WordPress do all the hard work for you!
    Modifying Options Pages - How to modify already existing options pages by adding options for your use on them
    TinyMCE Custom Buttons - How to add functionality to the TinyMCE Visual/HTML editor for post/page content

Where to find WordPress Plugins

Plugins are tools to extend the functionality of WordPress. This article contains a list of plugins by category, and links to other plugin repositories. The core of WordPress is designed to be lean, to maximize flexibility and minimize code bloat. Plugins offer custom functions and features so that each user can tailor their site to their specific needs.

For instructions and information on downloading, installing, upgrading, troubleshooting, and managing your WordPress Plugins, see Managing Plugins. If you want to develop your own plugin, there is a comprehensive list of resources in Plugin Resources.
Plugin Repositories

WordPress Plugins are available from several sources. The "official" sources for WordPress Plugins are:

    Official WordPress Plugins Repository
    WordPress Plugin Database at wp-plugins.net

Not all WordPress Plugins make it into the above repositories. Try searching the web for "WordPress Plugin" and the keywords for the type of functionality you are seeking.
Default Plugins

The following plugins are included with the WordPress core distribution:

Akismet
    Akismet checks your comments against the Akismet web service to see if they look like spam or not. You can review the spam it catches under "Manage" and it automatically deletes old spam after 15 days.
Hello Dolly
    This is not just a plugin, it symbolizes the hope and enthusiasm of an entire generation summed up in two words sung most famously by Louis Armstrong. Hello, Dolly. This is, by the way, the world's first official WordPress Plugin. When enabled you will randomly see a lyric from "Hello, Dolly" in the upper right of your Administration Panels on every page but the Plugins panel.

WordPress Plugins List

The WordPress Plugins once listed herein have been removed and are no longer updated. Please see the Official WordPress Plugin Directory and WordPress Plugin Database for current listings of WordPress Plugins.

How to install and manage plugins

Plugins are cool bits of programming scripts that add additional functionality to your blog. They offer new addition to your blog which either enhance already available features or add new features to your site.

Plugins extend the functionality of WordPress. The majority of WordPress users don't require Plugins, or only require a few, such as Plugins dealing with comment spam or customized post listings. Other users enjoy the varied options Plugins provide such as frequently updated weather reports, post word counts, rating systems, and more. Since the choice in Plugins is vast, and chosen based upon the needs of the user, they are not incorporated into the core of WordPress.

WordPress Plugins are designed by volunteers and are free to the public. Plugins listed in the sources below have usually been thoroughly tested and considered "safe". But remember, Plugins are the responsibility of the author and the user, and they are typically works-in-progress as WordPress grows and expands.

If you want to develop your own plugins, there is a comprehensive list of resources at Plugin Resources.
Finding Plugins

There is a list of WordPress plugins, and links to other repositories, in Plugins.
Plugin Compatibility

WordPress Plugin Compatibility indexes plugins compatible with various WordPress versions.
Installing Plugins
WordPress Plugins Panel
WordPress Plugins Panel
WordPress offers simple and easy ways of adding Plugins to your blog. From the Administration Panels, click on the Plugin tab. Once you have uploaded a plugin to your WordPress plugin directory, activate it from the Plugins Management page, and sit back and watch your plugin work.

Not all Plugins are so easily installed, but WordPress plugin authors and developers make the process as easy as possible. We've included more detailed information on how to install Plugins below, as well as some things you need to know before you install.
Things to Know Before You Install

There are a few things you need to know before you begin to install WordPress Plugins.

Know before you install.
    Read through the readme.txt files and web pages, as well as any comments regarding the Plugin on an author's website, before you install. The more you know before you install, the easier the process should be.
Plugins require downloading and uploading to install.
    You must be familiar with how to download and upload files and how to use FTP, if required.
Plugins may require modifying WordPress files and templates.
    Familiarity with PHP, HTML, CSS, and CHMOD may be necessary.
Record modifications.
    If you make any changes to the WordPress files or templates, make a note of it in the code by using comments before and after the changes, and in a text file saved to your site and on your desktop to remind you of any additions or modifications to your default files or templates. This will help you repeat these in the future if there are any problems with your site.
Make frequent backups!
    Some Plugins work independently of your blog's content and files, just adding a little something special to the page. Others require modification of content and files, including changes to your database. Before installing any plugin that will make dramatic changes, backup your database and files.

There are several versions of WordPress currently available, and different Plugins available for the different versions. Be sure and read through the information thoroughly to determine if the Plugin will work with your version, or check Plugins/Plugin_Compatibility. If not, consider upgrading.
Plugin Installation

To install a plugin, the following are the general directions to follow. Be sure and follow the specific instructions provided by the Plugin author. Remember: BACKUP - just in case.

    Read through the "readme" file thoroughly that usually accompanies a plugin, or the website article from where you found the plugin. It is often helpful to print out the instructions so you can check off the installation steps as you complete them.
    Upload the plugin to the wp-content/plugins folder in your WordPress directory online.
    Make any changes to templates or files as required by the Plugin instructions including adding Plugin template tags.
    Activate the Plugin:
        Access the Plugin Panel in your Administration Panels
        Scroll down through the list of Plugins to find the newly installed Plugin (if not visible, start from the beginning to check to see if you followed the instructions properly and uploaded the file correctly).
        Click on the Activate link to turn the Plugin on.
    Continue making any modifications necessary from the "readme" file instructions to make the plugin's actions meet your needs.

Hiding Plugins When Deactivated

Some plugins feature tags inside of the template files. If the plugin is not activated, it will "break" the Theme and it may report errors or fail to load. It is therefore imperative to prevent the plugin from being detected in case it is turned off.

To detect if a plugin is installed, you can use a simple function_exists() check. The if (function_exists()) checks for the plugin, and if it exists, it will use it. If it returns FALSE or "not found", it will ignore the plugin tag and continue loading the page.

<?php
if (function_exists('FUNCTION NAME')) {
  FUNCTION_NAME();
}
?>

This example plugin uses a function called jal_get_shoutbox() to print out its contents.

<?php
if (function_exists('jal_get_shoutbox')) {
  jal_get_shoutbox();
}
?>

Troubleshooting Plugins

If you are experiencing problems with a plugin you installed or one that stopped working after upgrading, the following are the steps you need to take to troubleshoot the plugin:

    Check that you have followed the plugin author's instructions to the letter.
    Check that any plugin tags or usage within your template files are correct, spelled right, and placed in the appropriate place, i.e., within the WordPress Loop or outside of it.
    Check that you uploaded the file to the plugins folder under wp-content. If you are uploading a new version to replace the old, delete the old version prior to uploading the new one.
    Check that the plugin has been activated in your Plugin Panel of your Administration Panels.
    Deactivate and re-activate the plugin to see if this makes it work.
    Visit the plugin author's website, typically linked from the Plugin Panel, and look to see if someone else is having the same trouble and an answer has been posted, or a new version released.
    Contact the plugin author directly via their website or email requesting assistance.
    Search the Internet for the name of the plugin and the trouble you are having as someone else might have had the same problem and found a fix and posted it on their site. TIP: Sometimes it helps to search for the plugin's filename.
    Visit the WordPress Support Forum (or WordPressMU Support Forum for WordPress Multi-User installs) and post a clear question about the plugin and the problem you are having and you may get an answer from someone familiar with the plugin.
    If the problem persists and you cannot seem to solve it, check to see if there are any similar plugins that you can try instead.

Upgrading WordPress May Break Plugins

Some plugins may become outdated and no longer work with the newer version of WordPress. If you have issues after activating a plugin, deactivate it and visit the Plugin's website to see if a newer version is available.

Many plugin authors will upgrade their plugins to accommodate the newer version, but some either won't, or their plugin becomes obsolete with the improvements in WordPress.
Plugin Management

Plugins are managed from the Plugins Panel in the Administration Panels of your WordPress site. All plugins listed on this screen are found in your wp-content/plugins directory. Each plugin has a description of what it does, an author and website to refer to, and a version number. If you do not see the plugin on the list, it is because it is missing the "header":

<?php
/*
Plugin Name: Magic Plugin
Plugin URI: http://example.com/magic-plugin
Description: Magic Plugin performs magic
Version: 2.3
Author: Mr. Magic
Author URI: http://example.com/
*/

You can add this information yourself by opening the plugin in a text editor and adding the above "comment", changing the information as follows:

Plugin
    Shows the plugin's name, and links to the plugin's website if one is provided. Plugins listed in bold are currently active.
Version
    The version number of the plugin.
Description
    The author's description of what the plugin does and who authored the Plugin.
Action
    Allows you to activate, deactive, or edit the plugin.
New version available
    If a newer version of a Plugin is available in the WordPress Plugin repository a message will display along with a link to the location to download that new version.

Activation and Deactivation

If your plugin requires changes to the WordPress code or your template files, you will need to enact or reverse those changes each time you activate or deactivate your plugin. Failing to do this will likely result in errors. There is also a link provided below the list of Plugins that allows you to Deactivate All Plugins.
Uninstalling Plugins

While Plugins are very useful, some Plugins just don't meet your needs, or you've stopped using them for some reason, or they just don't work. After deactivating the Plugin stops the Plugin's behavior, they tend to pile up in your Plugins panel, making your plugin list long and cumbersome to scroll through. If left there long enough, they might become obsolete with the new WordPress versions and cause problems if you decide to use them in the future.
Plugin Admin Screen
Plugin Admin Screen
Begin your Plugins housekeeping by visiting the plugin author's site to see if there are instructions on how to uninstall the plugin via the Plugins panel on the left side of the screen. Some plugins require adding tags and code to your Template files while others require modification of the WordPress administration files. Be sure and read through the plugin's uninstall instructions to remove each of these modifications so your site will not have errors when the plugin is turned off.

If no specific instructions for uninstalling exist, then read through the installation instructions to check for modifications, if applicable, and reverse their changes, if implemented. If it has been a long time since you used this plugin, you still might have left its modifications in your template files and forgotten them. Carefully remove them.

To remove a plugin, make sure the plugin is deactivated from the Plugins panel. Go to your website's wp-content/plugins folder (usually with an FTP program) and look for the file name of the plugin you want to remove. Select the file name and delete it.

If have your WordPress site on your hard drive, open the wp-content/plugins folder on your site and find the file name of the plugin you want to delete, select it and delete it. This way, if you have to restore or copy your Plugin folder to your website, you won't restore the unwanted plugin on your site.