You can easily add a Gravatar image to any WordPress theme by using the get_avatar function as explained here.
Basically, you need to call a function and it will display the global recognized Gravatar image.’
Gravatars are officially supported from versions 2.5+, as explained in Using Gravatars.
Customizing login or registration form pages in WordPress is possible.
You can use the new Register Plus plugin and add custom CSS rules for Sign up page and Login page.
This great article from ThemeSharper explains how to use wordpress as a CMS.
By configuring WordPress with some special plugins and organize the categories in a convenient way, we can get a CMS in just a few minutes.
By default, when you install new plugins in a WordPress blog that plugin may add custom CSS styles or Javascript functions that could make your page a little loader to load to your visitors. The same happens with many popular WordPress themes.
You can easily see how long it takes to load by using for example Firebug with the Network tab enabled.
Recently I found this interested article from Justin Tadlock that realized me a quick and elegant way to disable scripts or styles enqueued by WordPress plugins or themes.
His solution allows someone to unqueue styles and css by adding a couple of code lines at functions.php
A few examples of plugins that add custom css styles could be WP-PageNavi, CForms, WP-DownloadManager, etc.
That would be great to have custom fields on categories capabilities in a Wordpress installation.
By default, custom fields for categories aren’t supported in the default Wordpress installation, it would be great to have a plugin or custom field support for categories in future releases of Wordpress.
If you are planning to translate Wordpress themes, you need to understand the following terms in advance: internationalization (aka i18n) and localization.
WordPress localization technology uses GNU gettext localization framework. Gettext allows to display messages using paragraph or single words. In WordPress these messages are generated and translated using two common functions: __() and _e().
gettext uses the following files:
In order to translate themes, the follow steps need be achieved:
Choose a translation tool for your environment. In Windows, Mac OS X and Linux you can use poEdit. Other tools are GNU Gettext, Pootle, Launchpad.
Edit translation files and prepare your WordPress themes.
To translate themes, you need to create a .po file and locate it under your theme directory. The filename should be accordingly your locale. For example, if you are translating a WordPress theme to Spanish in Spain, it would be desired to name it es_ES.po
Go to poEdit (or any other translator tool used) and create that file or open it if already exists.
You need to configure the properties, directories and functions that will be used to determine the potential translation terms. Usually the two functions you need to specify are __() and _e().
On your main screen you will see a list of terms and a secondary pane where you can translate each term to the new language.
Once you finished with the translation, then you need to save it two times. One time for saving the .po file, and other time to save the compiled one, that’s the .mo file.
Tip: poEdit has a configuration option to automatically compile the file when saving so you can just save both files in a single click.
In order to use translation, you need to edit wp-config.php to match your language:
define('WPLANG', 'es_ES');
You can repeat the steps for other languages, in case you also want to provide translation for Portuguese, Chinese, and so on.
Then, your WordPress instance is ready for your new language.
Here are some Adsense plugins for Wordpress:
I was wondering the way to allow users write their own posts so we can convert a blog into a collaboration site where users can submit their own content.
For example, imagine you are building a new website and you don’t want to be the main author, however you want other authors to submit Tutorials, Articles, ideas, brainstorming, news, etc.
You can easily solve this problem by adding a $paged function before query_posts() call in your index.php, category.php or any custom template that uses loops.
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("cat=-9&paged=$paged");
?>
Recently, I dedicated many many hours to detect a problem that –apparently- did not have a quick solution by googling on Internet.
For any reason, Global Translator + Wordpress + Apache combination, caused a strange symptom in my Wordpress installation, that involved MySQL database. Another strange symptom was that no log messages were recorded so that made more difficult to detect the problem.