it-swarm.asia

Map_meta_cap Filtresinin Kullanımı Nedir?

map_meta_cap / filter kullanımı nedir? Bu filtre hiçbir yerde belgelenmemiş. Ne olabileceği konusunda net bir fikrim var:

Kullanıcının izinlerini gönderilerdeki işlemlerle eşleştirmek için kullanılır.

Tam olarak ne anlama geliyor? Mümkünse, lütfen doğru kullanımına bir örnek kod örneği verin.

19
rsman

Bu filtre, map_meta_cap() işlevini genişletmenizi sağlar. Bu işlev , meta kabiliyetini bir veya daha fazla ilkel kabiliyete dönüştürmek için WP_User->has_cap() ile çağrılır.

Örneğin, geçerli kullanıcının geçerli gönderiyi düzenlemesine izin verilip verilmeyeceğini bilmek istersiniz, edit_post meta yeteneği . Bu bazı faktörlere bağlıdır: kullanıcı yazının yazarı mı? Gönderi zaten yayınlandı mı? Gönderi özel olarak mı işaretlenmiş? İlkel yetenekler: edit_posts, edit_published_posts, edit_others_posts ve edit_private_posts: bunları kullanıcı rollerine atayabilirsiniz. map_meta_cap(), gönderinin yazarını ve durumunu kontrol eder ve bu kullanıcının gönderinin düzenlenmesine izin vermesi gereken doğru ilkel yetenekler kümesini döndürür (gönderim başka bir kişi tarafından yazılmış ve yayınlanmışsa, array('edit_others_posts', 'edit_published_posts') işlevini döndürür; kullanıcı devam etmek için her iki özelliğe de sahip olmalıdır).

Bu meta yetenekleri ve ilkel yetenekler fikrini eklemek, temel WP_User sınıfını gönderi ve posta durumları bilgisinden ve her ne olursa olsun ve sadece yeteneklere odaklanmanızı sağlar. Gerçek dönüşüm harici bir işlevdedir, map_meta_cap().

map_meta_cap filtresi , örneğin özel gönderiler kullanırken işlevselliği genişletmenize olanak sağlar. register_post_type 'nin capabilities argümanını ayarlarsanız temel desteğin sağlandığına inanıyorum, ancak Justin Tadlock ve Prospress plugin tarafından belirtilen makale bunun tam örneklerini sunar. Ancak, eğer istersen, yetenekler sistemini tamamen açmak için kişiselleştirebilirsin.

24
Jan Fabry

Bu filtre, özel yazı tipleri için meta özelliklerini eşlemek için kullanılabilir. Bu makalede iyi bir kod örneği var:

http://justintadlock.com/archives/2010/07/10/meta-capabilities-for-custom-post-types

6
sorich87

Bu, map_meta_cap() işlevinin filtresidir. Tanımdan, bu fonksiyonun ( can_do_stuff ) daha spesifik hale getirdiği (/ yazıcının yazarı eğer can_do_this_stuff ve can_do_that_stuff_also ), gerekirse çeşitli koşulları kontrol ediyor gibi görünüyor.

Ne yazık ki, Codex'te belgelenmemiş ve bu işlevin tek bir doğrudan çağrısını WP 3.0.1 kaynağında bulamıyorum.

Bu işlevin kullanımıyla mı karşılaştınız veya bir şey için kullanmak mı istediniz? Kullanılmıyor gibi göründüğünden, bu işlevsellik için muhtemelen daha yeni ve daha iyi yollar var.

2
Rarst