Bu filtre genişletme olanağını sağlar işlevi . Bu işlev , bir meta yeteneği bir veya daha fazla ilkel yeteneğe dönüştürmek için çağrılır .map_meta_cap()WP_User->has_cap()
Örneğin, geçerli kullanıcı Geçerli yayını, düzenlemesine izin gerekip gerekmediğini bilmek istiyorum meta yeteneği . Bu bazı faktörlere bağlıdır: kullanıcı yazının yazarı mı? Yayın zaten yayınlanmış mı? Gönderi gizli olarak işaretlenmiş mi? İlkel yetenekleri vardır , , ve : Eğer bu atayabilirsiniz kullanıcı rolleri . yazının yazarını ve durumunu kontrol eder ve bu kullanıcının yazının düzenlenmesine izin vermek zorunda olması gereken doğru ilkel yetenek kümesini döndürür (yayın başka biri tarafından yazılır ve yayınlanırsa, geri dönecektir , bu nedenle kullanıcının her iki yeteneğe de sahip olması gerekir) devam et).edit_postedit_postsedit_published_postsedit_others_postsedit_private_postsmap_meta_cap()array('edit_others_posts', 'edit_published_posts')
Bu meta yetenekler ve ilkel yetenekler fikrini eklemek , temel WP_Usersınıfı mesajlar ve posta durumları ve her türlü bilgiden uzak tutmanızı ve sadece yeteneklere odaklanmanızı sağlar. Gerçek dönüşüm harici bir işlevdedir map_meta_cap().
Filtremap_meta_cap , örneğin özel yayınlar kullanırken işlevselliği genişletmenize olanak tanır. capabilitiesTartışmayı ayarlarsanız temel destek sağlandığını düşünüyorum register_post_type, ancak Justin Tadlock ve Prospress eklentisinin bahsi geçen makalesi bunun tam örneklerini sunuyor. Ancak, isterseniz yetenek sistemini tamamen tersine çevirmek için özelleştirebilirsiniz.