Wordpress

WP Admin: Linkleri Yapılandırmak

Güncelleme:
Genel olarak yayınladığım yazılar belirli bir gündeme, güncel olarak yaşanılan bir soruna ve/ya üzerinde uzun zamandır çalışırken not ettiğim sorunların sıralamasına dayanıyor. Belirli bir konu ekseninde seriler halinde yazılar yayınlamaya başlamışken biraz da bir proje içerisinde kendini gösteren bir sorun ve çözümleri ile ilgili detaylara değinelim.
GÖRSEL
Genel olarak yayınladığım yazılar belirli bir gündeme, güncel olarak yaşanılan bir soruna ve/ya üzerinde uzun zamandır çalışırken not ettiğim sorunların sıralamasına dayanıyor. Belirli bir konu ekseninde seriler halinde yazılar yayınlamaya başlamışken bir proje içerisinde kendini gösteren bir sorun ve aslında o sorunun çözümünün genel olarak fayda sağlayacağını düşündüğümde seriyi bölebiliyorum. Hatta, bazen öyle günler oluyor ki, ardı ardına ortaya çıkan konular seriler içerisindeki yazılar arasına çok uzun aralıklar koymama neden olabiliyor.Üstün körü yazılar yayınlamak yerine araştırma, örneklendirme, konuya dair soruların ve çözümlerin araştırılması derken yüzden fazla bekleyen yazı çok zamandır taslak olarak yayınlanacakları zamanı beklemeye başlıyor.wppostpagemanagerBu anlamda sürekli sıralamaları, tarihlendirmeleri planladığım Trello ile entegre bir şekilde notları düşerken basit, ancak üzerine kapsamlı bir şekilde düşünüldüğünde wordpress yönetim panelinde, taslak olarak tutulan yazılara dair birkaç düzenlemeye ihtiyacım olduğuna karar verdim. Bunlardan ilki, tüm yazıları görüntülediğimde yayınlananlar ile taslakların o an aradığım içeriğe ulaşmamı zorlaştırmasına dairdi. Bu sorunu tüm yazıları görüntülediğimde sadece yayınlanmış olanları öncelikli olarak göstererek çözdüm.

Yazılar ve Sayfaları Kendi İçerisinde Ayrıştırmak

cea_wpAddMenuDrafts içeriğinde yer alan add_posts_page() fonksiyonu ile Yazılar ve Tüm Yazılar başlıkları tıklandığında karşımıza taslaklardan arındırılmış, yayınlanmış yazılar dökülmesini sağladım. Ancak, şöyle bir durum ortaya çıktı. Halihazırda, daha pratik hale getirmek istediğim bu özellik yeterli değildi. Bu özelliğe ek olarak yeni fonksiyonlarla yazılar altına yayınlanmış, planlanmış ve taslak gibi başlıkları ve barındırdıkları bölüme wp_count_posts ile yazı adetlerini de dahil etmeye karar verdim.
function cea_wpAddMenuDrafts() {
  add_posts_page(__('Drafts'), __('Drafts'), 'read', 'edit.php?post_status=draft&post_type=post');
}
add_action('admin_menu', 'cea_wpAddMenuDrafts');
$count_posts = wp_count_posts();
$draft_posts = $count_posts->draft;
$future_posts = $count_posts->future;
Öncelikle Administration Menus altında sunulan fonksiyonlarla bu anlamda oldukça hızlı ve etkin bir çözüm oluşturmamı sağladı. add_posts_page() ile birlikte add_pages_page() ve add_submenu_page()‘i de dahil edip, kullanma ihtimalinizin olduğu costum post types özelliğini de kapsayan, kullanışlı bir sonuca ulaşmış oldum.

add_posts_page();

Yazılar altına alt bağlantılar ekleyebilmenize olanak veren fonksiyon $capability ile birleştirilerek kullanıcıların doğrudan kendi içeriklerine ve belirlenen yetkiler üzerinden ulaşabilmesine olanak sağlıyor.

add_pages_page()

Sayfalar altına alt bağlantılar ekleyebilmenize olanak veren fonksiyon add_posts_page fonksiyonunun sahip olduğu yeteneklere benzer bir şekilde çalışıyor.

add_submenu_page()

add_posts_page ve add_pages_page fonksiyonlarına ek olarak $parent_slug ile bağlantı ekleyeceğiniz menü alanını belirtmeniz gerekiyor. $submenu değişkeni ile dökebileceğiniz içerikten referanslar alarak kullanabileceğiniz fonksiyon için örneklerden bazıları şu şekilde;
  1. Dashboard add_submenu_page( 'index.php', ... ); bkz. add_dashboard_page()
  2. Yazılar add_submenu_page( 'edit.php', ... ); bkz. add_posts_page()
  3. Medyalar add_submenu_page( 'upload.php', ... ); bkz. add_media_page()
  4. Bağlantılar add_submenu_page( 'link-manager.php', ... ); bkz. add_links_page()
  5. Sayfalar add_submenu_page( 'edit.php?post_type=page', ... ); bkz. add_pages_page()
  6. Yorumlar add_submenu_page( 'edit-comments.php', ... ); bkz. add_comments_page()
  7. Özel Sayfa Tipleri add_submenu_page( 'edit.php?post_type=your_post_type', ... );
  8. Görünüm add_submenu_page( 'themes.php', ... ); bkz. add_theme_page()
  9. Eklentiler add_submenu_page( 'plugins.php', ... ); bkz. add_plugins_page()
  10. Kullanıcılar add_submenu_page( 'users.php', ... ); bkz. add_users_page()
  11. Araçlar add_submenu_page( 'tools.php', ... ); bkz. add_management_page()
  12. Ayarlar add_submenu_page( 'options-general.php', ... ); bkz. add_options_page()
Yukarıda yer alan fonksiyonların detaylı içerikleri için …src/wp-admin/includes/plugin.php sayfasını inceleyebilirsiniz. Ayrıca, referanslarda da görebileceğiniz gibi add_pages_page ve add_posts_page fonksiyonları yerine add_submenu_page üzerinden de sayfa ve yazı alanlarına menü bağlantıları eklemeniz mümkün.

wpPostPageManager Plugin

İhtiyacınıza uygun olarak paylaştığım kodları ihtiyacınıza göre düzenleyerek pratik bir şekilde kullanabileceğiniz gibi, wordpress eklentisi olarak veya github üzerinden de indirip kullanmaya başlayabilirsiniz.

HABERDAR OL

Yeni eklenen projeler, eğitimler, içerikler ve yayınlanan videolar e-posta adresine gelsin.