Author: David

I'm David, web designer/developer specializing in building functional websites using WordPress. I have strong skills in theme development using Hybrid Core framework and plugin development. It's okay if you want to hire me.

Why Do We Ask: What’s Your Budget?

I didn’t ask this question a lot. But recently a client linked to an article, possibly to make sure I didn’t ask for their estimate budget for the project (which is fine):

The Worst Question To Ask Your Clients: “What’s Your Budget?”

The article covers some valid points. Asking budget question might be a sign for:

  1. Lack of knowledge
  2. Signal of deception
  3. No value
  4. No due diligence, etc.

But I don’t always agree. In some case asking for budget is totally fine. Read More Why Do We Ask: What’s Your Budget?

WordPress AJAX for Beginners

wp-ajax

In recent projects I use AJAX more, and I think it’s time to share my knowledge. This tutorial is just a simple guide to understand the basic about using AJAX in WordPress.

To follow this tutorial you will need to understand the basic of:

  1. Simple jQuery / JavaScript
  2. Simple PHP
  3. How form works
  4. Register and Enqueue Scripts in WordPress
  5. Register WordPress shortcode (example plugin)

Read More WordPress AJAX for Beginners

Rate My Setup

rate-my-setup

Today I sold my Asus Zenfone 5 for $50.  I bought it 2 years ago for around $200.

For the replacement, instead of getting a better phone. I bought $80 Hisense (chinese) budget phone. And I also bought cheap $15 bluetooth game-pad. And I’m very happy with it.

It’s amazing how fast technology accelerate. My new phone is faster and snappier with less than half the price of my old phone.

How to Redirect On Theme Activation

theme-redirect-evil

WordPress plugin have a activation method, It’s very useful, and we can use it for various things.

One of the popular method in plugin, is “Activation Redirect”, this is a method used by a lot ( I mean **A LOT**) of popular plugins to redirect user to plugin settings page, setup page, or even plugin about page (of course, within the admin panel) when user activate plugin.

This is (probably) useful for user on-boarding purpose, annoy user, keep the user inform about the feature of the plugin or help them setup the pages required by the plugin or install additional plugins/add-on.

Note: I actually really hate it when plugin/theme author did this. But in some case it could be useful.

Usually plugin use register_activation_hook() function to do this. But theme don’t have similar method/function. However, there’s a workaround for that.

Read More How to Redirect On Theme Activation

WordPress Plugin: How to NOT Store API Key/Password in Plain Text

no-plain-text-api-key

Sometime we need to save API key, or password, for external services in our WordPress plugin. It’s problematic, since we have to use that key to make API connection, but we don’t want to save it in plain text (because it’s just plain dumb). So we need a way to encrypt this key and save it to database, and decrypt it to use. Read More WordPress Plugin: How to NOT Store API Key/Password in Plain Text

Wifi Booster using Android Phone

usb-thetering-android-phone

Yesterday, I rented a work space. 5x4m , bathroom, AC, for kinda-an-office (I heard that separating work-space and house can improve productivity).

But apparently the wifi signal sucks. It works but sometimes the connection in my laptop stop for no reason. It’s not disconnected, but simply won’t open any webpage like there’s no connection. Updating driver, changing device setting, etc don’t work.

But it works fine on my mobile devices.

So, I try to use my android phone USB tethering feature and apparently it works like a charm. So the phone will get the internet via wifi and transfer it to my laptop via USB. (So, my phone works like an USB Wifi Adapter).

Works well on my old android phone. Nice and simple solution. So, if this happen to you, and you have unused android phone, you can use this method.

Note: I tested this method with Android 4.1.2 (Jelly Bean) / 5.0 (Lollipop) and Windows 10 laptop. No additional driver needed. Just plug and play.