Made my first WordPress core contribution!!

Shit just got real, all of a sudden today I made my first WordPress core contribution at this ticket and in this commit :D.

I was checking trac today and stumbled upon this ticket. It was really easy to find and replace some texts. So quickly I submitted a patch and it was accepted within few hours. I just can’t believe that, yes I am excited :D

Links:

Bengali translation, a first time collaboration for WordPress!

Hopefully WordPress 4.0 is going to be released at 27th August, 2014. As this version is going to have language selection from the installation phase, translation is important.

As the validator of WordPress Bengali project, I proposed a translation collaboration effort to give a boost in our Bengali translation. From the banner of our local group WordPressians, today we arranged a “contributor day” to contribute in Bengali translation to WordPress and it was really great. About 30 WordPress lovers joined us in weDevs office to help the Bengali language grow. We already have completed 100% translation in WordPress part, but the Administration area was barely touched (23%). But after the announcement, now we have only about 150 strings left to translate, which was about 1800 before. So that was really an amazing effort.

We have never arranged something like this collaboratively and this worked out really good. It’s always better to do something together rather than doing it alone. More than 50% of them who never translated before. Hats off to everyone who took part at this effort :D

Some photos…

I will be attending WordCamp San Francisco 2014

I am working with WordPress for about 6 years. Web development is my passion and I fell in love with WordPress very shortly as it was really easy to pick up and get going.

Since then, I wrote many plugins and created a lot of themes and got involved with WordPress. Also I maintain the official Bengali translation project. Though I couldn’t get my head around with WordPress trac and still I couldn’t contribute to WordPress core, I intend to do so in near future. I am watching closely WordPress development and know the community and developers around it through blogs, twitter, github and so on. But as I am living in a third world country, face to face interaction was not an option.

I see people gather in WordCamps and meet other WordPress folks in person, networking is a breeze in WordCamps. I always wanted to attend a WordCamp and this year I was planning to attend one anyhow. I chose WordCamp Europe firstly because of the cultural gatherings it brings. Countries all over the Europe and America gathers on that event, it was the main attraction to me. But sadly, it’s happening on Sofia, Bulgaria and there is no embassy of Bulgaria in Bangladesh. So I had to skip it.

Next target is WordCamp San Francisco. It should have been the first choice, because it’s The Grand WordCamp! But as it’s harder to get an US visa, I was skeptic on this. But as WCEU was out of question, WCSF was the choice. Interestingly, WCSF offered a travel assistance program this time to bring more diversity. I applied for it and luckily, I got selected. Hell yeah! :D

I got the official invitation letter from Jen Mylo with details. I submitted my visa application on 4th August (this month) and got the visa interview date at 10th August (today), though I didn’t expect the interview date too soon. So today I attended for the visa interview and I got the visa :D . Well, to be specific not today, will get the passport back at 13th August.

So, if everything goes right, I will be attending WordCamp San Francisco this year. I hope it’ll be a blast and planning to arrange the first ever WordCamp in Dhaka next year. Fingers crossed :D

Don’t Lose Your WordPress Translation Files

Happened to many users, may be happened to you as well. You translated a language file in your theme or plugin, but you lost that file when an update came. Your hours of work, lost! That’s why WordPress has a hidden feature just for that.

WordPress loads the language files based on the plugin language scheme. Some prefers to put their language files in the languages folder, or some in lang folder. It’s the plugin authors personal preference. But either way, if WordPress doesn’t find the current language in that plugins/themes folder, it searches on the /wp-content/languages/themes and /wp-content/languages/plugins folder. Note that, it’s the languages folder in the wp-content folder.

If you have wpuf textdomain in a plugin, it’ll search for wp-content/languages/plugins/wpuf-LOCALE_CODE.mo file. Similarly for themes, wp-content/languages/themes/twentyfourteen-LOCALE_CODE.mo.

So if you are translating a theme or plugin and you don’t want to lose the changes when an update comes, place them on the global languages folder. The better approach would be to contact the plugin or theme author and place them in the plugin/theme officially.

Cheers!

My talk on Composer – The missing package manager for PHP

Here in Dhaka, a big technology fair is going on from 4th – 7th June, 2014 at Bangabandhu International Conference Center. Today (6th June, 2014), phpXperts arranged a DevCon with 11 interesting topic and thousands of viewers participated over there. It was such a blast!

Among them I also gave a talk on Composer and here’s my presentation.

Some Pictures

Introducing weGallery

Making consistent naming after my company weDevs, I named the documentation theme as weDocs. Now another plugin came as weGallery, very consistent!

Another Gallery?

There are many plugins available in the WordPress.org plugin directory for the same needs, gallery. I’ve seen the most downloaded NextGEN Gallery, it has lots of feature and very complex. If you need a simple gallery, it’s an overkill. So I wanted to create a new one, that would be very simple. Then I found Rocket Galleries via WP Tavern. It’s very simple and what I wanted, mostly!

Rocket Gallery

As I found the features I was looking for in rocket gallery, but it felt short. The plugin is nicely built and I liked the way it’s written, the codes! But it didn’t do something right:

  • Taking advantage of Custom Post Type
  • It used a custom table for galleries that I didn’t wanted.
  • It didn’t have a github repo, so I couldn’t contribute.
  • I saw some features that I would need, but no way to integrate there without forking.
  • Lastly, I want to use things that acts the way I want. If none does, I create them!

So weGallery born

I needed a gallery for a next venture I am working on. It’ll be public next month I hope, my first SaaS project. So as rocket gallery felt short, I jumped into the code and weGallery was born. It’s always fun to create new things and I hope to integrate more features into it. But if you are like me, wanted a gallery plugin, please feel free to add new features into the plugin.

Download GitHub

Translator Credits

I didn’t know about this until a fellow translator pointed it out. I am not sure if this was from before WordPress 3.9, but if you helped translate WordPress in your own language, your name will be placed on the WordPress credits screen.

WordPress translator credits

Feels good to see my name there, twice!

I maintain Bengali translation site of WordPress and I am validator. When you change the WordPress language to bn_BD or your native language code, translators for that language will be shown there at http://yoursite.com/wp-admin/credits.php.

Fetching User Information from Rapportive via PHP

Rapportive in Gmail

Rapportive in Gmail

I love Rapportive. It’s a nifty way to know about a user who sent you an email to your Gmail account. You can know about the person who sent the email and treat the person that way. It collects its data from various sources including social networks. But, you can only use that in your Gmail as a browser add-on.

As a developer, that’s kinda sad. Wouldn’t it be nice to be able to use those information in your custom application? Well, there is a hack that I found and turned it into a PHP class for easier usage and it’s kinda cool :D

So I wrote this nifty PHP class and it makes fetching the data a breeze.

Using

require dirname( __FILE__ ) . '/rapportive.php';

$rap = new WeDevs_Rapportive( 'tareq@wedevs.com' );
var_dump( $rap->get_data() );

Output

Data from Rapportive

GitHub