Code snippets

Je eigen content types: custom post types in WordPress

Standaard wordt WordPress geïnstalleerd met twee post types: berichten en pagina’s. Maar als je je site echt goed wil structureren is dat meestal niet genoeg. Je kan natuurlijk alles in berichten proppen, en er een categorie aan hangen, maar dan kan je de categorieen niet meer ergens anders voor gebruiken.

Je kan ook een plugin installeren, custom post type ui, maar dat heeft als nadeel dat je niet, zoals ik graag wil, makkelijk nieuwe updates van een ontwikkelomgeving (database A) naar een live omgeving (database B) kan pushen. De post types worden dan namelijk allemaal in de database bewaard.

Daarbij is de php methode erg simpel, en biedt enorme flexibiliteit. Je hoeft alleen maar de volgende code in je plugin of themebestand te plaatsen.

Ik zet hierbij altijd standaard hierarchical op FALSE. Doe je dit niet, dan krijg je fatal errors bij erg grote hoeveelheden posts. Voor kleine hoeveelheden hoef je je geen zorgen te maken.

function dtc_create_post_type() {
// posttype
register_post_type(
'boek', //post name to use in code
array(
'labels' => array(
'name'                  => 'Boeken',
'singular_name'     => 'Boek',
'add_new'               => 'Nieuw boek',
'add_new_item'      => 'Nieuw boek',
'parent_item_colon' => 'Boek',
'parent'                => 'Boek hoofditem',
),

//je kan hier je eigen icoon gebruiken:
// ‘menu_icon’ => trailingslashit(dirname(plugin_dir_url( __FILE__ ))).”images/boat.png”,

//of gebruik de meegeleverde WordPress iconen
'menu_icon' => 'dashicons-video-alt3', //https://developer.wordpress.org/resource/dashicons/#editor-code
//'menu_position' => 5,
'rewrite' => array(
'slug'         => 'schip',
'pages'        => true
),
'exclude_from_search' => true,
'supports' => array(
'title',
'author',
'editor',
'thumbnail',
'revisions',
'page-attributes'
),
'public' => true,
'has_archive' => false,
'taxonomies' => array(),
'hierarchical' => false
)
);
}


add_action('init','dtc_create_post_type');

Combineer je dit met de CMB2 plugin, dan heb je een enorm krachtig en flexibel stukje gereedschap in handen om je eigen post types te maken, met allerlei soorten velden. Oembed, multi file upload, editor, het zit er allemaal in, goed gedocumenteerd en goed onderhouden.

Related Articles

Laat een reactie achter