Eigene Beitragstypen in WordPress definieren

WordPress hat nach der Grundinstallation nur eine Form von Beitragstyp. Durch die Nutzung eigener Beitragstypen kann man WordPress auf die Belange des Kunden besser anpassen.

Beispiel: Ein Kunde möchte seine Produkte auf der Webseite speziell präsentieren und möchte für die Eingabe eine eigene Eingabemaske haben. Man kann hierfür über die Functions.php des Themes von WordPress einfach einen eigenen Eintragstyp Produkt anlegen:

// product post type
function custom_post_type() {
 
$labels = array(
'name'                => _x( 'Products', 'Post Type General Name', 'text_domain' ),
'singular_name'       => _x( 'Product', 'Post Type Singular Name', 'text_domain' ),
'menu_name'           => __( 'Product', 'text_domain' ),
'parent_item_colon'   => __( 'Parent Product:', 'text_domain' ),
'all_items'           => __( 'All Products', 'text_domain' ),
'view_item'           => __( 'View Product', 'text_domain' ),
'add_new_item'        => __( 'Add New Product', 'text_domain' ),
'add_new'             => __( 'New Product', 'text_domain' ),
'edit_item'           => __( 'Edit Product', 'text_domain' ),
'update_item'         => __( 'Update Product', 'text_domain' ),
'search_items'        => __( 'Search products', 'text_domain' ),
'not_found'           => __( 'No products found', 'text_domain' ),
'not_found_in_trash'  => __( 'No products found in Trash', 'text_domain' ),
);
$args = array(
'label'               => __( 'product', 'text_domain' ),
'description'         => __( 'Product information pages', 'text_domain' ),
'labels'              => $labels,
'supports'            =>; array( ),
'taxonomies'          => array( 'category', 'post_tag' ),
'hierarchical'        =>; false,
'public'              => true,
'show_ui'             => true,
'show_in_menu'        => true,
'show_in_nav_menus'   => true,
'show_in_admin_bar'   => true,
'menu_position'       => 5,
'menu_icon'           => '',
'can_export'          => true,
'has_archive'         => true,
'exclude_from_search' => false,
'publicly_queryable'  =>; true,
'capability_type'     => 'page',
);
register_post_type( 'product', $args );
 
}
 
// Hook into the 'init' action of the theme
add_action( 'init', 'custom_post_type', 0 );

Man muss diese Zeilencode unbedingt nach dem Themen Setup einfügen, d.h. also nach dieser Zeile in der Functions.php:

add_action( 'after_setup_theme', 'twentytwelve_setup' );

Sobald man das gemacht hat erscheint im WordPress Backend ein eigener Menüpunkt

Anzeige des Beitragstypen im WordPress Adminbereich

Eigene Beitragstypen müssen lokalisiert werden, d.h. vergesst nicht die entsprechenden Daten in der MO-Datei anzulegen.

Für ganz „faule“ Entwickler gibt es hier noch einen Online Generator für Beitragstypen

http://www.agile-coding.net/eigene-beitragstypen-in-wordpress-definieren/