Title: GigaOM Custom Post Type Factory
Author: Casey Bisson
Published: <strong>2012.08.12.</strong>
Last modified: 2012.08.13.

---

Bővítmények keresése

Ez a bővítmény **nem lett tesztelve a WordPress legutóbbi 3 fő kiadásával**. Lehetséges,
hogy már nincs karbantartva, frissítve és a használata gondot jelenthet a frissebb
WordPress verziókkal.

![](https://s.w.org/plugins/geopattern-icon/go-cptfactory.svg)

# GigaOM Custom Post Type Factory

 Szerző: [Casey Bisson](https://profiles.wordpress.org/misterbisson/)

[Letöltés](https://downloads.wordpress.org/plugin/go-cptfactory.zip)

 * [Részletek](https://hu.wordpress.org/plugins/go-cptfactory/#description)
 * [Vélemények](https://hu.wordpress.org/plugins/go-cptfactory/#reviews)
 *  [Telepítés](https://hu.wordpress.org/plugins/go-cptfactory/#installation)
 * [Fejlesztés](https://hu.wordpress.org/plugins/go-cptfactory/#developers)

 [Támogatás](https://wordpress.org/support/plugin/go-cptfactory/)

## Leírás

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 
        } 
    ```

`

## Telepítés

 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/

## GYIK

#### 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.

## Vélemények

Nincsenek értékelések erről a bővítményről.

## Közreműködők és fejlesztők

“GigaOM Custom Post Type Factory” egy nyílt forráskódú szoftver. A bővítményhez 
a következő személyek járultak hozzá:

Közreműködők

 *   [ Casey Bisson ](https://profiles.wordpress.org/misterbisson/)

[“GigaOM Custom Post Type Factory” fordítása a saját nyelvünkre.](https://translate.wordpress.org/projects/wp-plugins/go-cptfactory)

### Érdekeltek vagyunk a fejlesztésben?

[Browse the code](https://plugins.trac.wordpress.org/browser/go-cptfactory/), check
out the [SVN repository](https://plugins.svn.wordpress.org/go-cptfactory/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/go-cptfactory/) 
by [RSS](https://plugins.trac.wordpress.org/log/go-cptfactory/?limit=100&mode=stop_on_copy&format=rss).

## Meta

 *  Version **a1**
 *  Last updated **14 év ezelőtt**
 *  Active installations **Kevesebb, mint 10**
 *  WordPress version ** 3.3 vagy magasabb **
 *  Tested up to **3.4.2**
 *  Language
 * [English (US)](https://wordpress.org/plugins/go-cptfactory/)
 * Tags
 * [custom post types](https://hu.wordpress.org/plugins/tags/custom-post-types/)
   [custom posts](https://hu.wordpress.org/plugins/tags/custom-posts/)[developers](https://hu.wordpress.org/plugins/tags/developers/)
   [post types](https://hu.wordpress.org/plugins/tags/post-types/)[posts](https://hu.wordpress.org/plugins/tags/posts/)
 *  [Bővített nézet](https://hu.wordpress.org/plugins/go-cptfactory/advanced/)

## Vélemények

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/go-cptfactory/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/go-cptfactory/reviews/)

## Közreműködők

 *   [ Casey Bisson ](https://profiles.wordpress.org/misterbisson/)

## Támogatás

Vélemény? Segítségkérés?

 [Támogatói fórum megtekintése](https://wordpress.org/support/plugin/go-cptfactory/)