Category Archives: WordPress

All about my love for WordPress. BTW, I am self-claimed WordPress Super star.

Email Log WordPress plugin v1.9.1 released

Just a quick note to let you all know that I have released v1.9.1 of my Email Log WordPress plugin that allows you to log every email that is sent from WordPress.

This released fixed a minor security bug that allows logged-in unprivileged users to view content of the logged email.

Since it is a security fix, it is a mandatory update.

Continue reading »

Posted in WordPress | Tagged , , , | Leave a comment

Email Log WordPress plugin v1.9 released

I just released version 1.9 of my Email Log WordPress plugin. This released fixed an issue with pagination while viewing log files and various improvements at code level.

About Email Log WordPress plugin

Email Log is a WordPress plugin that allows you to log every email sent through WordPress and provides a UI where you can view them. The logged emails can be searched based on date, email address or subject.

Continue reading »

Posted in WordPress | Tagged , , , | Leave a comment

How to find if you are on the last page of a multi-page post in WordPress

Recently I came across a requirement at work where I had to find out if a particular post had pagination (page-breaks) and if yes then whether the user is on the last of those pages.

Even though this sounded simple, I had to dig into WordPress core source code to find out a way to solve it since there were no helper functions and you have to use global variables to figure it out.

I thought of writing about my findings here so that it would be helpful to others and I would also know where to look up when I need to do it again 🙂

Continue reading »

Posted in WordPress | Tagged , , | Leave a comment

Easy Retweet WordPress plugin v3.1 Released

As I promised in my year end review post, I have started working on my WordPress plugins. My Easy Retweet WordPress plugin badly needed an update to fix a couple of warnings and I just released v3.1 of the plugin with a couple of fixes and some new features.

About Easy Retweet WordPress plugin

Easy Retweet WordPress Plugin that allows you to easily add Twitter tweet buttons to your WordPress posts.

You can choose to add these buttons using any one of the following ways

  • Automatic way – Just configure the button in the settings screen
  • Using shortcodes
  • Using template functions

You can also enable Google Analytics tracking for the links that are generated by buttons created by this plugin.

Continue reading »

Posted in WordPress | Tagged , , , | Leave a comment

Creating custom tables with correct Character Set and Collation in WordPress

Sometime ago I wrote a blog post about how to properly create custom tables in WordPress that are also compatible with WordPress Multisite.

One thing that I didn’t mention in that article is setting the correct character set and collation for those custom tables.

What are character set and collation?

From MySQL docs:

A character set is a set of symbols and encodings. A collation is a set of rules for comparing characters in a character set.

You will be specifying the character set and collation as part of the CREATE TABLE sql query.

What values should be used for character set and collation?

WordPress has a complex logic to figure out the correct character set and collation for each instance and provides a way to override them in wp-config.php file.

WordPress also does a lot of security checks and rejects text-based on the character set and collation of the tables. So if you are creating custom tables in WordPress then instead of hard coding the character set and collation (or leaving it blank) you should use the one that WordPress had determined.

You can use the get_charset_collate() function in wpdb class to get this value. Append the value returned by this function at the end of your CREATE TABLE sql.

Posted in WordPress | Tagged , | Leave a comment

My contributions to WordPress 4.4

As most of you might have known, WordPress 4.4 just got released. It has a lot of cool new features like responsive images, REST API, Term Meta etc. Brian Krogsgard has a nice and comprehensive writeup about the new features and read it if you want to get more information about these new features.

Another important aspect of WordPress 4.4 release is that it had 471 contributors, the highest so far. I am happy to say that I am one of those 471 people and this is the second time I got props for a WordPress release. The previous one was for WordPress 4.3 which was released in August this year.

In this post I am going to briefly talk about the tickets that I worked on for WordPress 4.4.

Human readable data size constants

The first ticket that I contributed a patch was 22405. My patch introduced constants for common data sizes, so that you can use human readable constants like KB_IN_BYTES instead of hard-coded numbers like 1024 * 1024.

The following are the new constants that got added.

  • KB_IN_BYTES
  • MB_IN_BYTES
  • GB_IN_BYTES
  • TB_IN_BYTES

In addition to adding these constants, I also went over WordPress core codebase and replaced hard-coded numbers with the above constants.

Change password reset email subject based on user information

WordPress already provides the retrieve_password_title filter that allows you to change the subject of the “password reset” emails. But the problem with that filter is that it doesn’t pass user information. So if you wanted to change the email subject based on user information then it was not possible till now.

I have added both user_login and user_data parameters to the retrieve_password_title filter and now this allows you to change the email subject based on user information. This was done as part of ticket 34252

Documentation fixes

In addition to the above tickets I also worked on 34363, which was just a documentation fix.

I am very happy to have played a (small) part in the release of WordPress 4.4. If you are interested in contributing to WordPress then checkout the contributor handbook.

Posted in WordPress | Tagged , | 2 Comments

Unit Testing for WordPress

I am in Pune attending WordCamp Pune 2015. It’s been very exciting so far and finally I had chance to meet lot of people in person whom I am have been in contact online for more than half a decade.

My talk about Unit testing in WordPress

I have recently added Unit testing as part of my development workflow and it has helped me a lot as a developer and has even changed the way I think about code. It also has helped me a couple of times to catch bugs early that had the potential to spoil my weekend if it went to production 🙂

I gave a talk about how you can also use Unit testing to get peaceful weekends.

At the beginning of the talk I talked about the basic concepts in Unit testing and you can do it for plain PHP code. After that I moved on to show how the same concepts can be applied for WordPress code using frameworks like wp_mocks.

Continue reading »

Posted in Events/Conferences, WordPress | Tagged , , | Leave a comment

Creating single select WordPress taxonomies

As most of you would have already know, WordPress by default provides two built-in taxonomies – Categories and Tags. If you need to create a new association, then it is also very easy to create custom taxonomies in WordPress.

But one of the major limitations while creating custom taxonomies in WordPress is that you can’t make them as “single select”. By “single select” I mean the ability to restrict only one term to be selected for a post.

Following in one example where you might need this ability. Let’s say you are storing movie information in a custom post type and you need to store the PG rating for the movie in a custom taxonomy. Each movie will have only one rating and you should restrict that only one rating term is stored for a movie.

Recently I faced a similar scenario and this post talks about how I solved it.

Continue reading »

Posted in WordPress | Tagged , | 6 Comments

Don’t enable SAVEQUEIRES in production WordPress sites

One of the common ways to debug DB queries in WordPress is to enable SAVEQUERIES, which keeps track of all the DB queries that are executed in WordPress, together with other information like how long it took for the query to execute, what are the functions that called it etc and stores in the global array variable $wpdb->queries.

While this is a great way to debug DB queries, this could be a huge issue on production sites.

Continue reading »

Posted in WordPress | Tagged , | Leave a comment

Github Ribbon Plugin v1.2 release

I just released v1.2 of my Github Ribbon Plugin.

About Github Ribbon

Github Ribbons is a WordPress Plugin that allows you to add “Fork me on Github” ribbons to your WordPress posts or pages. You can enable the ribbon per post/page level or at global level.

Continue reading »

Posted in WordPress | Tagged , , | Leave a comment