Ben sayfaları ve / veya mesajları düzenlerken özel alanlar kullanılabilir kılan bir Wordpress eklentisi miras. Bu mesaj için yaptığından daha sayfaları için biraz farklı içerik ekler. Eklenti aşağıdaki ile sayfa veya yazı belirler:
if(preg_match('|post.php|i', $_SERVER['SCRIPT_NAME']) || preg_match('|post-new.php|i', $_SERVER['SCRIPT_NAME'])) {
add_meta_box('qaws_' . $cg ,$group, 'qaws_admin_meta', 'post', 'advanced', 'core');
} elseif(preg_match('|page.php|i', $_SERVER['SCRIPT_NAME']) || preg_match('|page-new.php|i', $_SERVER['SCRIPT_NAME'])) {
add_meta_box('qaws_' . $cg ,$group, 'qaws_admin_meta', 'page', 'advanced', 'core');
}
Sayfaları düzenlerken mesajları ve page.php düzenlerken onlar URL post.php kullanılır, çünkü bu Wordpress eski sürümlerinde çalışıyor. Şimdi, ancak, Wordpress bu yapmaz. Mesaj ve sayfaların her gibi bir URL ile düzenlenir: post.php?post=4&action=edit
böylece URL mümkün tanımlayıcı sonrası sayıdır.
Yani, ben bir sayfa veya bir yazı düzenlerken ediyorum olmadığını nasıl tespit ederim? Kolayca bana söyleyebilir bir Wordpress işlevi var mı? Sonrası numarasını kapmak ve bir türlü ne olduğunu görmek için onu kontrol etmek için tek seçenek mi?
Bu nasıl yaklaşım?
EDIT:
Here is what I did...
rather than doing the preg_match I retrieved the global $id, used get_all_page_ids()
to get a list of all of the pages and matched the $id to the ids in the get_all array. If there is a match, do the page add_meta_box, if not do the post one.
Ben de sayfa işlemek için zamanında bir demet kaydedilmiş olan oldu bir döngünün dışına denetimini taşındı. Şimdi sağ başında bir bayrak ve döngü bu meta_boxes sadece bayrak isset olmadığını görmek için kontrol vermektedir.