My Plugin Development Journey

From Fear to Freedom

This is my story of starting with curiosity, facing intimidating challenges, and discovering how a bit of code can solve real-world problems and build a community. I hope it inspires you to start your own journey.

Part 1: The Early Days - A Fork in the Road

2009 - 2010

This part of my journey covers the very beginning: my first steps into web development thanks to a great teacher, and the critical roadblock that forced me to find a new path. It was a time of pure, unguided experimentation that ultimately led to the platform that would define my career.

The Spark & The Joomla Wall

My journey began in 2009 with Joomla, introduced by my late teacher. But the Joomla 2.5 release created an incompatibility nightmare. All our components and templates broke, requiring a full manual migration. It was frustrating and the last straw.

Finding Freedom in WordPress

I found immense relief in WordPress. Its promise of one-click updates and strong backward compatibility was a game-changer. The vibrant ecosystem of free plugins meant I could focus on building, not on fixing constant breaks.

WordPress Plugins List with CHIP for WooCommerce Highlighted

Part 2: The Opportunity

2015 - 2016

Once settled with WordPress, I pursued my teacher's challenge to explore e-commerce. This led me to identify a significant gap in the local market, where a real problem presented itself—along with a solution that felt both necessary and fair.

The Malaysian Gap & The "Hefty" Barrier

WooCommerce was great, but it lacked FPX integration, the dominant payment method in Malaysia. A new gateway offered a fair, flat-rate fee, but the third-party plugin cost $69 per site. This felt like an unfair barrier for small merchants.

This sparked a gradual realization: with the skills I was learning in my first year of university, I could create a free version and solve this problem for everyone.

Screenshot of plugin costing $69 per site
Screenshot of first SVN approved plugin

Part 3: The Build - Conquering Fears

2016 - 2019

Deciding to build the plugin was one thing; actually doing it was another. This section is about the technical hurdles I faced as a beginner, the fears I had to overcome, and the "aha!" moments that made complex problems suddenly seem simple.

The Database Monster & The `post_meta` Revelation

With no database knowledge, `$wpdb` was terrifying. But then I had a revelation: in WordPress, everything is a post, and posts have meta data. I could avoid complex SQL and keep my hands "clean"!

// This was much simpler and safer!
update_post_meta($order_id, '_payment_url', $url);

Part 4: The Impact - Community & Priorities

2017 - 2018

This part of the story explores the unexpected outcomes of creating a free plugin. The community's reaction was more powerful than I ever imagined, and it ultimately forced me to make a tough decision about my priorities as my university life got busier.

Overwhelming Support

Even though the plugin was free, the support was incredible. I received countless messages, words of encouragement, and even small donations. It was a humbling experience that showed me the true value of giving back to a community.

Screenshot of community support messages

From Hosting to Plugins: A Tough Decision

My free plugins promoted my hosting business. But by my final year, with my Final Year Project, tutoring, and classes, it was too much. I had to close my hosting business to focus solely on plugin development. It was about prioritizing what I was truly passionate about. You can see an archive of the website here: Wanzul Hosting Archive

Part 5: The Present & Future

Today

My journey hasn't stopped. This final section brings us to the present day, showing how the passion that started as a hobby has grown into a career, and how I'm still pushing boundaries and continuing to learn.

Building with CHIP

My passion has come full circle. Today, I'm proud to be a plugin developer for CHIP Payment Gateway. It's exciting to work for a company that shares my vision for accessible payment solutions, applying all the lessons from my journey to make a real impact.

Be a CHIP Referrer!

Love CHIP? You can become a referrer and earn rewards! Join the program and help others discover seamless payment solutions.

Become a Referrer

Still Experimenting

The learning never stops. I'm currently testing a WordPress High-Availability setup with a four-server configuration to push the limits of performance and scalability.

Screenshot of IP Server One cloud instance dashboard

Don't Be Scared to Build!

You don't need to be a seasoned expert to start. With curiosity, persistence, and today's amazing tools, you can overcome challenges and create valuable solutions. Take that first small step.

Start Your Journey with WPCode

WPCode Snippets: Your First Step to Plugin Development

Many small customizations in WordPress can be achieved by adding code snippets. Tools like WPCode allow you to add these snippets without the complexity of creating a full plugin. Let's explore how a simple code snippet can solve a real problem, and how easily it can be transformed into a standalone plugin.

Case Study: Optimizing WordPress Image Processing

By default, WordPress often prefers ImageMagick for image processing. However, in certain server configurations, GD Library can be faster. Here's how to instruct WordPress to prioritize GD over ImageMagick using a simple code snippet.

Current WordPress Status (Before Code Snippet)

Before adding any code, your WordPress site might be configured to use ImageMagick. Below is a screenshot indicating this default behavior:

Screenshot of WordPress Site Health showing ImageMagick as default editor

Implementing with WPCode (PHP Code Snippet)

You can easily add this functionality using the WPCode plugin. Simply paste the following PHP code into a new snippet:

add_filter( 'wp_image_editors', 'pge_custom_image_editors' );

function pge_custom_image_editors() {
    return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

Here's how it looks inside the WPCode plugin interface:

Screenshot of WPCode plugin interface with the snippet pasted

WordPress Status (After Code Snippet)

After activating the WPCode snippet, WordPress will now prioritize the GD image editor. You can verify this change in your WordPress site's health information:

Screenshot of WordPress Site Health showing GD as default editor

From Snippet to Standalone Plugin

The beauty of WordPress is that these small snippets can easily be converted into full-fledged plugins. All you need is a standard plugin header at the top of your PHP file:

<?php
/*
Plugin Name: Prioritize GD Image Editor
Description: Prioritizes the GD image editor over ImageMagick in WordPress.
Version: 1.0
Author: Your Name
*/

add_filter( 'wp_image_editors', 'pge_custom_image_editors' );

function pge_custom_image_editors() {
    return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}
?>

Installing and Activating Your Custom Plugin

Once you've saved this file (e.g., `prioritize-gd.php`) and zipped it, you can upload it directly to your WordPress site via the Plugins > Add New > Upload Plugin interface. For your convenience, you can download the ready-to-use plugin zip file here:

After uploading, simply activate it!

And finally, the WordPress status will confirm that GD is now in use, just as it was with the WPCode snippet:

Screenshot of WordPress Site Health showing GD as default editor after plugin activation

Building Plugins with AI: A Modern Approach

The journey of plugin development continues to evolve. Today, powerful AI tools like Cursor can assist you in writing code, making the process even more accessible and efficient. Watch this demonstration to see how AI can help you create a similar WordPress plugin. You can find the full project on GitHub: GD-Image-Processing-Preference GitHub Repo

AI-Assisted Plugin Creation Demo

Thank You!

Your Photo

I hope this story inspires you to embark on your own coding adventures.