WordPress özel yazı türlerinin ayrıntılı açıklaması.
WordPress'in varsayılan makale türü.postVe sayfa türü.pageÇoğu içeriği yönetmek için yeterli olsa da, belirli içeriklerin (örneğin ürünler, portföyler, etkinlikler, ekipler vb.) yapısal olarak sunulması gereken karmaşık web siteleri için bu işlevsellik yetersiz kalır. Özel makale türlerinin ortaya çıkması tam olarak bu temel sorunu çözmek içindir. Geliştiricilere, “makalelerin” ve “sayfaların” ötesine geçerek herhangi bir içerik türü için özel yönetim panelleri, önde gelen görüntüleme ve sorgu mantığı oluşturma imkanı sunar.
Özel makale türleri sayesinde, “ürünler” için bağımsız yayın arayüzleri ekleyebilir, “ekip üyeleri” için özel bilgi girişi alanları oluşturabilir ve bu içeriklere özgün URL yapıları, sınıflandırma yöntemleri ve şablon dosyaları atayabilirsiniz. Bu sadece içerik yönetiminin netliğini ve verimliliğini büyük ölçüde artırmakla kalmıyor, aynı zamanda kurumsal düzeyde, yüksek özelleştirilebilir WordPress web siteleri oluşturmak için de vazgeçilmez bir teknik temel oluşturuyor.
Neden özel makale türlerine ihtiyaç var?
Özel makale türlerini kullanmak, farklı içerik türlerini mantıksal olarak ayırt etmeyi sağlar ve böylece birçok açıdan önemli avantajlar sunar.
Tavsiye edilen okuma WooCommerce'e derinlemesine bakış: Verimli bir e-ticaret web sitesi oluşturmanın tam rehberi sıfırdan başlayarak.。
İçerik yönetiminin net bir şekilde ayrılmasını sağlamak.
Web siteniz hem blogları, hem ürün gösterimlerini, hem de haber duyurularını ve başarı öykülerini içeriyorsa, hepsini yönetmek için varsayılan “Makaleler”i kullanmak arka uçta büyük bir karışıklığa neden olur. Farklı nitelikteki içeriklerin aynı listede karışması, hem düzenleme hem de arama açısından oldukça zordur.
Bağımsız “Ürün” ve “Örnek” türleri oluşturulduktan sonra, yöneticiler arka plandaki sol menüde bağımsız “Ürün” ve “Örnek” menü öğelerini görebilir. Bunlara tıkladıktan sonra, yönetim arayüzü makale yönetim arayüzüne benzer, ancak tamamen bağımsızdir ve birbirini etkilemez. Bu ayrışma, içeriğin düzenli olmasını sağlar ve yönetim karmaşıklığını büyük ölçüde azaltır.
Özel alanları ve meta verileri özelleştirin.
Varsayılan makale türleri, başlık, metin, özet, kategoriler ve etiketler gibi genel alanları içerir. “Ürünler” için fiyat, özellikler, stok gibi alanlara ihtiyaç duyabilirsiniz. “Etkinlikler” için ise başlangıç saati, bitiş saati ve konum gibi alanlara ihtiyaç duyarsınız.
Özel makale türleri, gelişmiş özel alanlar gibi eklentiler veya kodlarla birlikte kullanılabilir ve belirli içerik türlerine özel meta veri alanları kolayca eklenebilir. Bu alanlar, arka uçta bir form şeklinde sunulur ve ön uçta şablon etiketleri ile esnek bir şekilde kullanılabilir, böylece içerik yapısının derinlemesine özelleştirilmesini sağlar.
Bağımsız bir URL yapısı ve şablon sistemi oluşturun.
Özel makale türleri, kendi URL takma adlarınızı (Slug) tanımlamanıza olanak tanır. Örneğin, bir ürün tipinin sabit bağlantısını aşağıdaki gibi ayarlayabilirsiniz:/product/%postname%Etkinliği ayarlayın./event/%postname%Bu sadece URL'yi daha anlamlı ve SEO açısından daha uygun hale getirmekle kalmıyor, aynı zamanda kullanıcıların web sitesi yapısını anlamasını da kolaylaştırıyor.
Tavsiye edilen okuma WooCommerce özel sayfa şablonlarını kullanmayı öğrenin: Sıfırdan bire kadar pratik geliştirme rehberi。
Daha da önemlisi, WordPress'in şablon hiyerarşisi, özel yazı türleriyle eşleşen şablon dosyalarını tercih ederek arar. Örneğin, adlı bir yazı için, WordPress öncelikle şablon dosyasını arar.productTürüne bağlı olarak, sistem sırasıyla arar.single-product.php、single.php、singular.phpVb. Bu, tek bir şablonda karmaşık koşullu değerlendirme mantığı yazmak zorunda kalmadan farklı içerik türleri için tamamen farklı ön uç görüntüleme stilleri tasarlamanıza olanak tanır.
Özel makale türleri oluşturmanın iki yolu.
WordPress'te, özel makale türleri oluşturmak için iki ana yöntem vardır: Tema fonksiyon dosyalarında kod yazarak ve güçlü özel eklentiler kullanarak.
Eklentileri kullanarak hızlıca oluşturun.
Kod geliştirmeye aşina olmayan veya hızlı bir şekilde yayına geçmesi gereken kullanıcılar için eklentiler kullanmak en kolay yöntemdir. Custom Post Type UI ve Toolset Types, popüler iki eklentidir. Bu eklentiler, makale türünün adı, etiketleri, simgeleri, açık olup olmaması, arşiv sayfasını destekleyip desteklememesi gibi tüm parametreleri doldurarak tanımlamanıza olanak tanıyan sezgisel bir kullanıcı arayüzü sunar.
Bu yöntemin avantajları, kod yazmaya gerek kalmaması, ayarların hemen etkili olması ve genellikle eklentilerin sağladığı meta alanı yönetimi ile iyi bir entegrasyona sahip olmasıdır. Ancak, dezavantajları da aynı derecede belirgindir: işlevsellik, eklentinin sağladığı seçeneklere bağlıdır ve özelleştirme derecesi yetersiz olabilir; ayrıca, gelecekte tema değiştirilirse veya eklenti çalışmayı durdurursa, veriler veritabanında kalır, ancak kayıt işlevi kaybolur ve yeniden tanımlamak için ek kod gerekir.
Kod fonksiyonu aracılığıyla kayıt yapmak (önerilir)
Istikrar, kontrol ve performans arayan geliştiriciler için, temalarda veya özel eklentilerde kod aracılığıyla kayıt yaptırmak daha profesyonel ve önerilen bir yöntemdir. Bu yöntemin merkezi, WordPress tarafından sağlanan register_post_type() İşlev.
Kayıt kodunu temanın içine yerleştirmeniz gerekir.functions.phpDosyada veya daha iyisi, bağımsız bir site özelliği eklentisi oluşturun. Bunu yapmanın avantajı, özelliğin temadan ayrılmasıdır. Böylece temayı değiştirseniz bile özel makale türleri ve verileri bozulmadan çalışmaya devam eder.
Tavsiye edilen okuma Web sitesi oluşturma sürecinin tam açıklaması: Profesyonel düzeyde bir web sitesi oluşturmak için pratik teknik rehber.。
Aşağıda, “Ürün” özel makale türünü oluşturmak için temel bir kod örneği verilmiştir:
function create_product_post_type() {
$labels = array(
'name' => '产品',
'singular_name' => '产品',
'menu_name' => '产品管理',
'add_new' => '添加新产品',
'add_new_item' => '添加新产品',
'edit_item' => '编辑产品',
'new_item' => '新产品',
'view_item' => '查看产品',
'search_items' => '搜索产品',
'not_found' => '未找到产品',
'not_found_in_trash' => '回收站中无产品',
);
$args = array(
'labels' => $labels,
'public' => true, // 是否公开
'has_archive' => true, // 是否有归档页
'menu_icon' => 'dashicons-cart', // 后台菜单图标
'menu_position' => 5, // 菜单位置
'supports' => array('title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'), // 支持的功能
'rewrite' => array('slug' => 'products'), // URL别名
'show_in_rest' => true, // 是否在古腾堡编辑器和REST API中启用
);
register_post_type('product', $args); // 注册,'product'为内部标识符
}
add_action('init', 'create_product_post_type'); // 在初始化时执行函数 Bu kod,register_post_type()İşlev, adlı bir şeyi kaydetti.productMakale türü ve görüntüleme etiketleri, temel işlevler ve desteklenen modüller yapılandırıldı. Bunları ekleyin.functions.phpDaha sonra, arka planı yenileyerek yeni “Ürün Yönetimi” menüsünü görebilirsiniz.
İleri düzey ayarlar ve şablon özelleştirme.
Kayıtlı temel türler sadece ilk adımdır. Özel makale türlerini gerçekten güçlü ve kullanımı kolay hale getirmek için, gelişmiş yapılandırma ve onun için özel bir şablon oluşturulması gerekir.
Konfigürasyon özellikleri parametreleri ve ilgili sınıflandırma.
register_post_type()İşlevin$argsParametre dizisi, düzinelerce yapılandırma seçeneği sunar. Bunların arasında bazı önemli gelişmiş seçenekler de bulunmaktadır:
* ‘publicly_queryable’Bir makaleye ön uç URL'si aracılığıyla erişilebilir mi?
* ‘exclude_from_search’Bu tür makaleleri site içi arama sonuçlarından hariç tutulup tutulmayacağı.
* ‘capability_type’Bu tip izin yeteneklerini tanımlayarak, hassas izin kontrolü sağlanabilir.
* ‘taxonomies’Mevcut veya özel taksonomileri ilişkilendirin. Örneğin, “Ürün” için özel bir “Ürün Sınıflandırması” ile ilişkilendirin.”product_catEtiketler veproduct_tagÜrünleri, makale sınıflandırmasını yönettiğiniz gibi sınıflandırabilirsiniz.
Özel bir taksonomi oluşturun.
Kullanın. register_taxonomy() İşlevler, özel makale türleriniz için özel kategoriler veya etiketler oluşturabilir. Örneğin, “Ürünler” için “Ürün Serileri” kategorisini oluşturun:
function create_product_taxonomy() {
register_taxonomy(
'product_series', // 分类法标识符
'product', // 绑定的文章类型
array(
'label' => '产品系列',
'rewrite' => array('slug' => 'product-series'),
'hierarchical' => true, // 是否为层级式(类似分类)
'show_in_rest' => true,
)
);
}
add_action('init', 'create_product_taxonomy'); Özel şablon dosyaları geliştirin.
Şablon özelleştirme, önde gelen görüntülemenin merkezidir. WordPress şablon hiyerarşisine göre, tema için ilgili şablon dosyalarını oluşturmanız gerekir. Örneğin:
1. Arşiv sayfası şablonu: Oluştur.archive-product.phpTanımlamadan geliyor.yoursite.com/products/Bu sayfa, tüm Ürünlerin listesini göstermek için kullanılır.
2. Tek bir makale şablonu: Oluştur.single-product.phpBir ürünün detay sayfasından, mesela:yoursite.com/products/sample-product/。
3. Sınıflandırma dosyalama şablonu: Oluştur.taxonomy-product_series.phpBelirli bir ürün serisinin tüm ürün listelerini göstermek için.
Bu şablon dosyalarında, standart WordPress döngülerini kullanabilirsiniz, ancak genellikle ürün fiyatlarını, özelliklerini ve diğer özel bilgileri göstermek için özel alan sorgularıyla birlikte kullanmanız gerekir.
Ana sorguyu değiştirmek için pre_get_posts'ı kullanın.
Bazen ürün arşivleme sayfasında varsayılan sorgu parametrelerini ayarlamanız gerekebilir, örneğin her sayfada görülen öğe sayısını veya sıralama şeklini değiştirerek. Bu durumda, şablon dosyalarındaki sorguyu doğrudan değiştirmemelisiniz, bunun yerine sıralama filtrelerini kullanmalısınız. pre_get_posts Bu eylem kancası, ana sorguyu değiştirir ve bu, WordPress geliştirmenin en iyi uygulamalarından biridir.
function modify_product_archive_query($query) {
if (!is_admin() && $query->is_main_query() && is_post_type_archive('product')) {
$query->set('posts_per_page', 12); // 每页显示12个产品
$query->set('orderby', 'date'); // 按日期排序
$query->set('order', 'DESC'); // 降序排列
}
}
add_action('pre_get_posts', 'modify_product_archive_query'); Özetle.
Özel yazı türleri, WordPress'in bir blog sisteminden güçlü bir içerik yönetim sistemine dönüşmesinin temel özelliklerinden biridir. Karmaşık içeriğin yönetimi ve sunumu için mantıksal ayrıştırma, alanların özelleştirilmesi ve şablonların kişiselleştirilmesi ile zarif bir çözüm sunar. Bu, eklentiler aracılığıyla hızlıca oluşturulabilir veyaregister_post_type()İşlevler, derin kod kontrolü sağlar ve geliştiriciler, proje gereksinimlerine uygun uygulama yollarını bulabilir. Özel sınıflandırma, gelişmiş alanlar ve şablon düzeyinde tema geliştirme ile birlikte, yapısı net, güçlü işlevselliğe sahip ve kullanıcı deneyimi mükemmel olan çeşitli profesyonel web siteleri oluşturabilirsiniz. Bu işlevi öğrenmek ve etkili bir şekilde kullanmak, her WordPress geliştiricisinin ilerlemek için geçmesi gereken bir aşamadır.
Sıkça Sorulan Sorular.
Özel makale türlerinin verileri veritabanında nerede saklanır?
Özel makale türlerindeki tüm makaleler (içerikler) esasen burada depolanır.wp_postsVeri tablosunda, onunpost_typeAlandaaki değer, kayıt yaptığınızda tanımladığınız tanımlayıcıdır (örneğin).productBu makalelerle ilişkili taksonomi bilgileri depolanır.wp_term_relationships和wp_term_taxonomyTabloda. Özel alanlar (meta veriler) aracılığıyla eklenen bilgiler ise burada depolanır.wp_postmetaVeri tablosunda.
Özel makale türleri oluşturmak için kullanılan eklentiyi devre dışı bırakırsam, içerik kaybolur mu?
Makalelerin içeriği genellikle kaybolmaz, çünkü onlar zaten depolanmıştır.wp_postsİçeride. Ancak, bu makale türünün kayıt kodu (eklenti tarafından sağlanan) artık geçersiz olduğundan, WordPress bu türü artık tanımayacaktır. Bu, arka uç yönetim menüsünün kaybolmasına, bu içeriği arka uçta görmenin ve yönetmenin mümkün olmamasına ve ayrıca ön uçtaki makale bağlantılarının düzgün çalışmamasına neden olabilir. Bu durumun önüne geçmek için, anahtar kayıt kodunun alt temaya taşınması önerilir.functions.phpVeya özel fonksiyon eklentilerinde.
Mevcut özel makale türlerinin sabit bağlantı yapısını nasıl değiştirirsiniz?
Kalıcı bağlantı (Permalink) yapısını değiştirmek, kayıt sırasında güncellenmesi gereken bir şeydir.rewriteParametreler. Kayıt sırasında yaptığınız ayarları değiştirebilirsiniz.register_post_type()Fonksiyondaki‘rewrite’ => array(‘slug’ => ‘new-slug’)Bölüm. Değişiklik yapıldıktan sonra, WordPress arka uçundaki “Ayarlar” -> “Kalıcı bağlantılar” sayfasına gidin. Herhangi bir değişiklik yapmadan doğrudan “Değişiklikleri kaydet” düğmesine tıklayın. Bu işlem, yeni bağlantı yapısının etkin hale gelmesini sağlayan yeniden yazma kurallarını yenileyecektir.
Özel makale türleri için ayrı blok düzenleyici şablonları oluşturabilir miyim?
Evet, tamamen mümkün. WordPress 5.0'da Gutenberg editörünün tanıtılması ve tüm site düzenleme (FSE) desteğinin eklenmesinden bu yana, özel yazı türleri için özel blok şablonları veya şablon parçaları oluşturabilirsiniz. Bu, genellikle FSE'yi destekleyen blok temaları (örneğin, Twenty Twenty-Three) kullanıldığında daha sezgiseldir. Bunu temanızda yapabilirsiniz.templatesKlasörün altında bir dosya oluşturun, örneğinsingle-product.htmlBu tür blok şablon dosyaları, ya da temanın aracılığıylatheme.jsonDosyalar ve kayıt parametrelerindeki‘template’、‘template_lock’Seçenekleri yapılandırın, böylece bu türdeki tüm makaleler için standart bir blok düzeni tanımlayın.
Bir sonraki adım, bundan sonra ne yapmalıyım?
Daha fazla okuma ve pratik bilgiler.
Aşağıdaki içerikler bu makalenin konusuyla ilgilidir ve daha fazla okumak için uygundur. Öncelikle mevcut sorununuza en yakın makaleden başlayın, sonra çevresel konulara doğru ilerleyin, genellikle daha iyi sonuçlar alırsınız.
- Web Sitesi SEO Optimizasyonu Kılavuzu: Başlangıçtan Uzmanlığa Kadar Pratik Stratejiler ve Teknikler
- “SEO Optimizasyonu: SEO Dostu Çince Teknik Blog Başlıkları Yazma Rehberi”
- Başlangıçtan İleri Seviyeye: SEO Optimizasyonunun Temel Stratejilerini Öğrenin ve Web Sitenizin Doğal Trafiğini Artırın
- Yeni Başlayanlardan İleri Seviyelilere: SEO Optimizasyonunun Temel Stratejilerini Kavrama Konusunda Kapsamlı ve Pratik Bir Rehber
- 2026 Yılı İşletme Web Siteleri SEO Optimizasyonu Pratik Rehberi: Başlangıçtan Uzmanlığa Kadar Temel Stratejiler