WordPress’te Post type oluşturmadan önce post type’ın ne olduğunu anlamamız gerekiyor. Öncelikle WordPress sitenizdeki içerikleriniz mysql veritabanınızın wp_posts tablosunda tutulur.

Aşağıda göreceğiniz gibi wp_posts tablosundaki post_type sütunununda içeriğin tipi belirtiliyor, WordPress’te içeriğin post_type değerine bakarak bunun yazı, sayfa, medya veya özel alan(post, page, attachment gibi) olduğuna bakarak sitede ve admin panelde gerekli işlemleri yaptırıyor.

Wordpress wp_posts post_type alanı


WordPress’teki içerik işlemleri için post type oldukça önemlidir. WordPress’in dökümanından detaylı olarak inceleyebilirsiniz. https://wordpress.org/support/article/post-types/

Mevcut sitenizin admin panelinde yeni bir menü açmak ve içerik girişi yapmak içinde size özel post type oluşturabilirsiniz. Bunun için temanızın functions.php dosyasına aşağıdaki php kodunu kendinize göre düzenleyerek eklemeniz gerekiyor.

function custom_post_type_filmler() {
	$supports = array(
	'title', // post title
	'editor', // post content
	'author', // post author
	'thumbnail', // featured images
	'excerpt', // post excerpt
	'custom-fields', // custom fields
	'comments', // post comments
	'revisions', // post revisions
	'post-formats', // post formats
	);
	$labels = array(
	'name' => _x('Filmler', 'plural'),
	'singular_name' => _x('Filmler', 'singular'),
	'menu_name' => _x('Filmler', 'admin menu'),
	'name_admin_bar' => _x('Filmler', 'admin bar'),
	'add_new' => _x('Yeni Film Ekle', 'add new'),
	'add_new_item' => __('Yeni Film Ekle'),
	'new_item' => __('Yeni Filmler'),
	'edit_item' => __('Filmi Düzenle'),
	'view_item' => __('Filmleri Göster'),
	'all_items' => __('Tüm Filmler'),
	'search_items' => __('Filmlerde Ara'),
	'not_found' => __('Film Bulunamadı.'),
	);
	$args = array(
	'supports' => $supports,
	'labels' => $labels,
	'public' => true,
	'query_var' => true,
	'rewrite' => array('slug' => 'filmler'),
	'has_archive' => true,
	'hierarchical' => false,
	);
	register_post_type('filmler', $args);
}
add_action('init', 'custom_post_type_filmler');

Kodu ekledikten sonra admin panelinde aşağısdaki gibi Filmler menüsü geliyor.

Wordpress custom post type menü


Buraya eklediğiniz içeriklerinizi ise aşağıdaki aşağıdaki kod ile temanızda içeriği listeleyeceğiniz alana eklemeniz gerekiyor.

<?php $loop = new WP_Query( array( 'post_type' => 'filmler' ) ); ?>
<?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="pindex">
    <div class="pimage">
        <a href="<?php the_permalink(); ?>"><?php if ( has_post_thumbnail() ) {the_post_thumbnail();} ?></a>
    </div>
    <div class="ptitle">
        <h2><?php echo get_the_title(); ?></h2>
    </div>
</div>
<?php endwhile; wp_reset_query(); ?>

Özel post type oluşturma işlemi bu kadar. Takıldığınız yerleri yorum olarak iletebilirsiniz.