Plugin info

Total downloads: 1,245
Active installs: 0
Total reviews: 0
Average rating: 0
Support threads opened: 0
Support threads resolved: 0 (0%)
Available in: 1 language(s)
Contributors: 2
Last updated: 8/13/2012 (4889 days ago)
Added to WordPress: 8/12/2012 (13 years old)
Minimum WordPress version: 3.3
Tested up to WordPress version: 3.4.2
Minimum PHP version: f

Maintenance & Compatibility

Maintenance score

Possibly abandoned • Last updated 4889 days ago

20/100

Is GigaOM Custom Post Type Factory abandoned?

Possibly abandoned (last update 4889 days ago).

Compatibility

Requires WordPress: 3.3
Tested up to: 3.4.2
Requires PHP: f

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

CMS Tree Page View
Rating 4.9/5 (360 reviews)Active installs 50,000
Contextly Recommends
Rating 3.8/5 (23 reviews)Active installs 100
Featured Posts and Custom Posts
Rating 4.0/5 (3 reviews)Active installs 100
Post Template Select
Rating 5.0/5 (3 reviews)Active installs 100
Custom HTML/PHP Post Templates
Rating 5.0/5 (2 reviews)Active installs 70

Description

This is a convenience class and collection of methods to make creating new custom post types with their own metaboxes easy.

The general idea is to define a function that’s hooked to the register_post_types action. The function defines a class for your post type that extends the GO_Cpt class. This follows a design pattern established by the modern widgets API (as introduced in WP 2.8) https://codex.wordpress.org/Widgets_API#Developing_Widgets .

The result is a new custom post type and much easier creation and updating of custom meta associated with that post type. You’ll also have a convenient object you can use to access the metadata associated with each post.

function my_customposttype() {     class My_CustomPostType extends GO_Cpt     {         function __construct()         {             // execute the parent constructor with the name 
            // and definition for the custom post type             parent::__construct( $post_type_name , $post_type_definition );         }          function metabox( $post , $meta )         {             // print out the form here             // 
            // this method is optional, only use it if you want to 
            // add a metabox to your custom post type         }          function update( $new_meta , $old_meta )         {             // sanitize and validate the metadata             // then return $meta so it can be saved             //             // this method is required if a 
            // metabox() method is included          }     }      global $my_customposttype;     $my_customposttype = new My_CustomPostType; }  // hook that function to the register_post_types action add_action( 'register_post_types' , 'my_customposttype' ); 

Backstory: defining the post type class inside the function avoids issues with loading order and fatal errors resulting from attempting to extend a class that might not exist yet. Isn’t PHP awesome?

See the included hello world example: https://plugins.trac.wordpress.org/browser/go-cptfactory/trunk/example-helloworld-cpt.php

To access the meta associated with a post, you can call $my_customposttype->get_meta( $post_id );

You can easily add a method and hook to filter the_content or the_excerpt to insert custom values that may have been entered in the post meta. Simply add add_filter( 'the_content' , array( $this , 'the_content' )); in the __construct() and then define another method in the My_CustomPostType class such as:`

    function the_content( $content )     { 
        $meta_print = print_r( $this->get_meta( get_the_ID() ) , TRUE ); 
        return $meta_print . $content 
    } 

`

Installation

  1. Place the plugin folder in your wp-content/plugins/ directory and activate it.
  2. To actually use it, you’ll have to define a custom post type class. See more: https://wordpress.org/extend/plugins/go-cptfactory/

Frequently Asked Questions

Q: Code is complex, is there an easier way to do this?

A: You should consinder Pods: http://podsframework.org

Q: If Pods is out there, why did you bother with this?

A: Pods is cool, but this keeps the problem in code, without any dependency on configuration information stored in the database. This also fits the architecture I like where the code related to a post type is associated with the post type definition. In my use, custom post type classes actually have many more methods to collect, validate, and display their data.

Review feed

No reviews available

Screenshots

No screenshots available

Changelog

No changelog available