I'm an expert in WordPress Development, Ask Me Anything!

Thien Nguyen on June 20, 2018

Hi dev. You can ask me anything about WordPress and Vue.js.

markdown guide

Traditional theme development vs headless CMS. What are your thoughts?

PHP has been an important language to know for developing WP themes, but is it still worth investing time in learning PHP better? Or would that time better be invested in learning JS better and start thinking more in the direction of WP as a headless CMS?


I'm investing time to learn JS.

WordPress has an amazing REST API and if you don't want to develop the tranditional themes, you can use WordPress as a headless CMS, then learn some JS frameworks like Vue.js or React.

That's what I'm following today.


Thanks for the answer Thien.

I'm also investing time to learn JS now. But what to do about PHP? Should we just forget about it or is there still place for it even in a headless CMS set up? There's the functions file, but is it worth knowing PHP well still?

If you want to build a theme or a plugin for WordPress, I think you should take time to learn PHP.

is it worth knowing PHP well still?
The answer is yes.


Hi Sebastian. I'm not OP, but I want to start a discussion here. Have you used WP as a headless CMS before?

Do you build your own REST API on top of WP or do you utilize the built in WP REST API? Thanks for your thoughts.


I haven't used WP as a headless CMS yet, but want to try it.

I did use the REST API once, but for something small. It was just to get details of events that opened up in a modal of a single page site which itself was built the traditional WP way.

I still haven't actually done much with JS frameworks either. Only did a small thing with Vue once. Me and others that I've worked with are used to the traditional way, but WP as a headless CMS is looking very interesting. Especially with Vue.


Hi Thien! Thanks for doing this AMA.

Wordpress and Vue.js? Do you use them together?


Hi endan,

I use both. WordPress for backend API and Vue.js for the front-end.


Hi, I've got a question about customizing wordpress, would you mind spending 5 minutes to help me out? Thanks!



Sebastian, pleased to make your acquaintance. I have worked in dozens of environments with several programming languages, tools and so on.

Now that I am getting more and more requests for WordPress sites, I was wondering whether you might be able to suggest a WP theme with good customization, site building support, etc. Oh, and a great online community or forum about that theme would definitely be helpful, too.

I have tried Genesis a while back, but I just didn't have enough time to get into it and figure out all those details. Heck, I couldn't even successfully re-construct the demo page.

Any suggestions or links would be greatly appreciated.



I started my career working as a WordPress Developer! So it always has a special place in my heart.

How has the market for WP Devs evolved? When I moved on to other technologies it was just starting to feel saturated.

If you could rewrite WordPress in any language, which would you choose and why?


Haha easy one from a WordPress newbie. How do I add my DEV badge to my WordPress site? :-)

I found the code for the DEV badge on this site but don't see anywhere to put it on WordPress.



You can put the code of DEV badge into an HTML widget of WordPress.


What has been changing over the years in Wordpress development that calls your attention?


Do you favour using certain Themes or do you make your own?


I prefer creating my own theme than using certain themes.


How long have you been developing in the industry using Wordpress?


If you can give one lifehack in developing Wordpress applications what would it be?


Not the OP, but I'll jump in. Learn about using nonces with postbacks. It's not overly complicated, but it took me a while to understand the pattern. Once I understood this cycle, WordPress development (writing code) became so much clearer.

  1. Create an html form, that includes wp_nonce_field(). Now your form includes a string that's unique to that form and will be unique to post requests submitted by that form.

  2. In a plugin or in functions.php, add an init action that checks for post requests and uses wp_verify_nonce to check for the nonce. Now you know that form was submitted.

  3. Process the form data however you want, then use wp_redirect with the _wp_http_referer created by wp_nonce_field to send the user back to the form.

I now use this pattern everywhere in WordPress.


Youtube, Evanto Tutplus and other sites these days have many tutorials that teach you how to build a Wordpress theme from scratch. I learn from them a lot.

Another way to learn theme development is finding a WordPress job :D


Advanced Custom Fields vs Pods vs Gutenberg Blocks vs something else or a combination of them?


These plugins save your time a lot. However, I often create metabox, custom post type by programming.

You can use Advanced Custom Fields for metabox, settings. Pods for custom post type.

Gutenberg is the new generation Wordpress editor. In fact, it's not my favor editor :D

code of conduct - report abuse