Yazı türleri: İzinler ve REST API sekmeleri
3 dk okuma
Yazı türü düzenleyicisinde Advanced settings açıkken her iki sekme de görünür (Custom post types).
İzinler sekmesi
Ayar | Varsayılan | Etkisi |
|---|---|---|
Custom capability names | Kapalı | Türe, Posts için kullanılan yetkileri yeniden kullanmak yerine kendi yetkilerini verir. |
Singular capability base |
| Yalnızca özel adlar açıkken gösterilir. |
Plural capability base |
| Yalnızca özel adlar açıkken gösterilir. |
Map meta capabilities | Açık | "Recommended. Lets WordPress check permissions per post (map_meta_cap)." |
Allow export (Tools → Export) | Açık | Türü WordPress'in kendi dışa aktarma aracında listeler. |
Delete with user | Kapalı | "When a user is deleted, their posts of this type are deleted too." Kapalıyken WordPress yazıları başka bir kullanıcıya atar veya olduğu gibi bırakır. |
Yetkiler nasıl çalışır
Custom capability names kapalıyken tür, Posts ile aynı yetkileri kullanır (edit_posts, publish_posts, edit_others_posts ve benzerleri). Yazıları düzenleyebilen herkes bu türü de düzenleyebilir.
Açıkken WordPress yetki adlarını sizin girdiğiniz iki tabandan oluşturur. Tekil taban dbook, çoğul taban dbooks ise edit_dbook, edit_dbooks, edit_others_dbooks, publish_dbooks, read_private_dbooks, delete_dbooks ve benzerlerini elde edersiniz.
Editörlerin veya başka bir rolün erişmesini istiyorsanız yetkileri bir rol düzenleyici eklentisiyle ya da kodla verin:
$role = get_role( 'editor' );
foreach ( array( 'edit_dbooks', 'edit_others_dbooks', 'publish_dbooks', 'delete_dbooks' ) as $cap ) {
$role->add_cap( $cap );
}Verilmiş yetkiler, daha sonra özel adları kapatsanız veya tabanları yeniden adlandırsanız bile rolde kalır. Türü yalnızca mevcut farklı bir yetkiyle kısıtlamak istiyorsanız özel adları kapalı bırakın ve bunun yerine wpmcf/post_types/register_args filtresini kullanın.
Neden kapalı olması gerektiğini bilmiyorsanız Map meta capabilities ayarını açık tutun; kapalıyken WordPress "bu yazıyı düzenle" işlemini doğru yazı bazlı denetimlere çeviremez.
Yetki tabanları anahtarlar gibi temizlenir: küçük harfler, rakamlar, tireler ve alt çizgiler.
Dışa aktarma ve kullanıcı silme
Allow export yalnızca WordPress'in Tools › Export ekranını etkiler. WPM Fields › Tools altındaki tanımların JSON dışa aktarımıyla ilgisi yoktur.
Delete with user yıkıcı bir ayardır. Yazılar yalnızca yazarlarıyla anlam taşımıyorsa (örneğin kullanıcıya ait profiller) kapalı bırakın.
REST API sekmesi
REST API, blok düzenleyicinin girdileri yüklemek ve kaydetmek için kullandığı, başsız (headless) ön yüzlerin ve uygulamaların da içeriğinizi okumak için kullandığı arayüzdür.
Ayar | Varsayılan | Etkisi |
|---|---|---|
Show in the REST API | Açık | Türü |
REST base | boş (yer tutucu "Default: post type key") | URL parçası; örneğin |
REST namespace |
| Yalnızca kendi API'nizi geliştiriyorsanız değiştirin; örneğin |
REST controller class (optional) | boş | Varsayılan denetleyicinin yerini alacak, |
Base, namespace ve controller alanları yalnızca Show in the REST API açıkken geçerlidir.
Örnek
Anahtarı book, REST base değeri books ve varsayılan namespace olan bir tür:
GET /wp-json/wp/v2/books
GET /wp-json/wp/v2/books/123Liste ekranı, sunulan türler için REST API sütununda "On" gösterir.
Özel içeriği REST API üzerinden okumak yine kimlik doğrulaması gerektirir; oturum açmadan yalnızca herkese açık bir türün yayımlanmış girdileri görülebilir.
REST API'de alan değerleri
Alan grubu bazında, değerler grubun konumlandığı yazı türlerinin REST yanıtında wpmcf anahtarı altında görünebilir (bkz. Field groups). Bunun için türün REST API'de gösterilmesi gerekir.
Sorun giderme
Yönetici olmayan bir kullanıcı türü göremiyor. Custom capability names açık ve yetkiler o role verilmemiş. Yukarıdaki nota bakın.
Blok düzenleyici türüm için açılmıyor. Show in the REST API ayarının açık olduğunu ve Supports içinde editor bulunduğunu kontrol edin.
REST base adresim 404 döndürüyor. Düzgün kalıcı bağlantıları (Plain değil) kullanın ve başka bir tür ya da taksonominin aynı tabanı kullanmadığından emin olun.
Hâlâ takıldınız mı? Destek ile iletişime geçin