Kısa bir süre önce kullanıcılarımızdan biri, oluşturduğu özel bir gönderi türü için kategori eklemenin mümkün olup olmadığını sordu. Kategoriler, WordPress'te yerleşik olarak bulunan sınıflandırmalardan biridir. Varsayılan olarak, yalnızca makaleler için görünürler. Ancak bazı senaryolarda, bunları özel bir gönderi türüyle kullanabilirsiniz.

Bu makalede, WordPress'te özel bir gönderi türü için nasıl kategori ekleyeceğinizi göstereceğiz. Ayrıca, kategorinizin arşiv sayfasında birden çok gönderi türünü nasıl görüntüleyeceğinizi de göstereceğiz.

categoriesforcpts

Eklenti kullanan yöntem

Başlangıç ​​seviyesindeki kullanıcılar için eklentiyi kullanmanızı öneririz Custom Post Type UI özel gönderi türleri oluşturmak için. Bu eklentiyi kullanırken, özel gönderi türünüzü, kategoriler de dahil olmak üzere herhangi bir yerleşik veya özel sınıflandırma ile ilişkilendirme seçeneğiniz vardır.

Önce eklentiyi kurmalı ve etkinleştirmelisiniz Özel Gönderi Türü Kullanıcı Arayüzü.

Aktivasyondan sonra ziyaret etmelisiniz CPT Kullanıcı Arayüzü »Gönderi Türleri Ekleme / Düzenleme yeni bir özel gönderi türü oluşturmak veya eklenti ile önceden oluşturulmuş olanı değiştirmek için.

editposttypes

Gelişmiş seçenekleri aşağı kaydırın ve orada seçeneği göreceksiniz  "Yerleşik Taknomiler". Kategorilerin yanındaki kutuyu işaretleyin ve özel yayın türünüzü kaydedin.

enablecategoriesforcpt

Ayarlarınızı kaydetmek için kaydet düğmesine tıklamayı unutmayın.

 Özel bir yayın türüne kategorileri elle ekle

Dosyaya kod ekleyerek özel gönderi türünüzü oluşturduysanız functions.php temanızı veya belirli bir eklentiyi seçerseniz, kategoriyi desteklenen bir sınıflandırma olarak eklemek için bu kodu düzenlemeniz gerekecektir.

Tek yapmanız gereken, özel gönderi türünüz için bu satırı eklemektir.

1'taxonomies'  => array( 'category' ),

Muhtemelen bu kod satırına zaten sahipsiniz ve başka bir özel sınıflandırma içeriyor. Öyleyse, bundan sonra bir virgül eklemeniz ve aşağıdaki gibi kategoriyi eklemeniz gerekir:

1'taxonomies'          => array('topics', 'category' ),

Burada, yerleşik kategorilere sahip "filmler" adlı özel bir gönderi türü oluşturduğumuz eksiksiz bir kod örneği verilmiştir.

function custom_post_type () {// Özel Gönderi Türü için kullanıcı arayüzü etiketlerini ayarlayın $ labels = array ('name' => _x ('Movies', 'Gönderi Türü Genel Adı', 'yirmiüçüncü'), 'singular_name' => _x (' Film ',' Gönderi Türü Tekil Adı ',' yirmi üç '),' menü_adı '=> __ (' Filmler ',' yirmiüç '),' parent_item_colon '=> __ (' Ana Film ',' onüçüncü '),' all_items '=> __ (' Tüm Filmler ',' yirmiüç '),' view_item '=> __ (' Filmi Görüntüle ',' yirmiüç '),' add_new_item '=> __ (' Yeni Film Ekle ',' onüçüncü '), 'add_new' => __ ('Yeni Ekle', 'yirmiüç'), 'edit_item' => __ ('Filmi Düzenle', 'yirmiüç'), 'update_item' => __ ('Filmi Güncelle', 'onüçüncü') , 'search_items' => __ ('Film Ara', 'yirmiüç'), 'not_found' => __ ('Bulunamadı', 'yirmiüç'), 'not_found_in_trash' => __ ('Çöp Kutusunda Bulunamadı', ' yirmi on üç '),); // Özel Gönderi Türü için diğer seçenekleri ayarlayın $ args = array ('label' => __ ('filmler', 'yirmi üç'), 'açıklama' => __ ('Film haberleri ve incelemeler', 'yirmi onüç'), ' etiketler '=> $ etiketler,' destekler '=> dizi (' başlık ',' düzenleyici ',' alıntı ',' yazar ',' küçük resim ',' yorumlar ',' revizyonlar ',' özel alanlar ',), 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, ' can_export '=> true,' has_archive '=> true,' exclude_from_search '=> false,' publicly_queryable '=> true,' capability_type '=>' page ', // CPT' taksonomilerimize 'taksonomiler eklediğimiz yer burasıdır => dizi ('kategori'),); // Özel Gönderi Türünüzü Kaydetme register_post_type ('filmler', $ değiştirgeler); } / * 'İnit' eylemine bağlanın, böylece * Gönderi türü kaydımızı içeren işlev * gereksiz yere çalıştırılmaz. * / add_action ('init', 'custom_post_type', 0);

Kategoriler sayfasında birden çok gönderi türü gösterin

Varsayılan olarak, WordPress sitenizdeki kategori sayfaları yalnızca gönderi türünü görüntüler "Nesne". Özel gönderi türlerinizi aynı kategori sayfasında görüntülemek için, bu kodu dosyaya eklemeniz gerekir functions.php temanız veya siteye özgü bir eklenti.

add_filter ('pre_get_posts', 'query_post_type'); function query_post_type ($ sorgu) {if (is_category ()) {$ post_type = get_query_var ('post_type'); eğer ($ post_type) $ post_type = $ post_type; else $ post_type = array ('nav_menu_item', 'post', 'filmler'); // Menüyü çalıştırmak için nav_menu_item'i unutmayın! $ sorgu-> set ('post_type', $ post_type); $ sorgu döndür; }}

Değiştirmeyi unutma "Filmler" kendi özel yayın türünüzün adı ile.

Bu kadar. Umarız bu makale, WordPress'teki özel yazı türünüz için nasıl kategori ekleyeceğinizi öğretti. Özel gönderi türleriniz için etiket eklemek için aynı yöntemleri de kullanabilirsiniz.

Herhangi bir yorum veya öneriniz varsa, lütfen ilgili bölümde bize bildirin.