The easiest and most flexible way to code custom post types in WordPress