A computer screen apparently casts in coding a WordPress theme.

A WordPress Theming Service For Designers Only

In this post, I want to introduce you a soon-to-be-launched productized service. It helps designers to convert their beautiful work into a fully functional but also light-weighted WordPress theme.

I know it doesn’t sound that charming, but if you are a designer who’ve ever sworn you’ll never purchase from any theme shop again, please read this up, I might have something for you.

Read More…

Get Terms By Custom Post Types And Taxonomy In WordPress

The following snippet saved me a bunch time when dealing with a recent project. The scenario was I created 2 custom post types and they share the default “category” taxonomy with Posts. On the post type archive page, I have to display the category links so users can filter the posts.

The difficult part was I wanted to only show categories that have posts in the current post type. The following snippet came from StackExchange, with the function hook to the terms_clauses filter, now we can use a custom argument called post_types in the function get_terms.

The post_types can be an array so you can get terms like this:

get_terms( array( 'post_types' => array('post', 'cpt1', 'cpt2'), 'taxonomy' => 'category' ) );

or just:

get_terms( array( 'post_types' => 'cpt1', 'taxonomy' => 'category' ) );

Please go to StackExchange to upvote the answer if you find it helpful to you too.

PHP Cookie, Raw Cookie and How to Cookie with Caching System

For years I thought I understood “cookie” very well. Especially when I figured out it’s a great way to share data between JavaScript and PHP. I always got results as I expected in many projects with this approach.

“Why not just saving the values to database and just use PHP to access it?” you might be asking. Most of the cases are because we need to access such values in JavaScript. For example, we have an eCommerce website and we let the user chooses her location with a lightbox window. The lightbox should only appear once and after the user makes the choice, it just goes away. Read More…