WordPress Nasıl Açılır konulu bir önceki yazımda, önyükleme işleminin yarısından fazlasını WordPress wp-settings.php’nin KISA sürüm olarak döndüğü noktaya kadar gittik, WordPress’in barebone’ları mevcut olsa da, bu belirsiz bir özellik olsa da, yalnızca çok temel WordPress özelliklerinin gerekli olduğu ortamlar için oldukça yararlı olduğu ortaya çıktı (özellikle veritabanı soyutlaması). En azından birinci bölümü gözden geçirmenizi tavsiye ederim, endişelenmeyin, sensiz ayrılmayacağız.

Umarım herkes şu anda hızlanırken, en sevdiğimiz düzenleyicimizde wp-settings.php’yi açalım ve dizin isteğimize WordPress yanıtına doğru yolculuğumuza devam edelim. SHORTINIT testi 96. satırda başarısız oluyor, bu nedenle WordPress diğer her şeyi yüklemeye devam ediyor:

  1. Kodu birkaç düzine işlevi tanımlayan l10n kitaplığı wp-includes / l10n.php içinde bulunur. Bu işlevler arasında, WordPress’teki çevirilerin gücünü ortaya çıkaran iyi bilinen __ () ve _e () işlevleri vardır.
  2. wp_not_installed () (wp-includes / load.php içinde tanımlanmıştır) is_blog_installed () işlevini kullanır (wp-includes / functions.php içinde tanımlanmıştır). Bu noktada WordPress kurulmazsa bir yönlendirme zorlanır. Burası, bu makalenin kapsamı dışında kalan ünlü 5 dakikalık WordPress kurulumuna ayrıldığımız yerdir.
  3. 36 dosya dahil edilmiştir ve her birinin üzerinden hızlıca geçeceğiz:
    1. wp-includes / class-wp-walker.php – çeşitli ağaç benzeri yapıları görüntülemek için Walker (hayır, Texas Ranger değil) sınıfını tanımlar.
    2. wp-includes / class-wp-ajax-response.php – AJAX isteklerine XML yanıtları döndüren WP_Ajax_Response sınıfını tanımlar.
    3. wp-includes / formatting.php – ana WordPress Biçimlendirme API’sı. Bu dosya, kaçış ve temizleme işlevleri, zaman dönüştürme işlevleri, doğrulama işlevleri ve WordPress içinde kullanılan diğer yararlı araçlar için işlev tanımlarını içerir, bu nedenle bir dahaki sefere bir eklenti yazarken bir etiket dengeleme işlevine veya URL kaçış işlevine ihtiyaç duyduğunuzda görmek için kontrol edin Bu dosyada tanımlananlar kendi yazınızı yazmak yerine kullanılabilir.
    4. wp-includes / yetenekleri.php – 3 sınıfı tanımlar: WP_Role, WP_Roles, WP_User. Bunlar, WordPress’in WordPress Panonuzdaki Kullanıcıları yönetirken ve genel olarak kullanıcı izinlerini ve kısıtlamalarını kontrol ederken kullandığı kullanıcı ve rol yönetimi yöntemlerini ortaya çıkarır.
    5. wp-include / query.php – WordPress Query API’nin parçası olan is_page (), is_404 () gibi fonksiyonları ve the_post () gibi fonksiyonlar tarafından kullanılan $ wp_queryglobal nesnesine örneklenen WP_Query sınıfını tanımlar, bu dosyada da tanımlanan the_comment ().
    6. wp-includes / theme.php – get_template (), get_stylesheet_uri (), get_404_template (), add_theme_support () ve diğerleri gibi temayla ilgili birçok yararlı işlevi tanımlar.
    7. wp-includes / user.php – kimlik doğrulama işlevlerini ve WP_User_Query sınıfını içeren Kullanıcı API’sini tanımlar.
    8. wp-includes / meta.php – çoklu meta veri sorguları için get_metadata () ve WP_Meta_Query sınıfı gibi meta veri işlevlerini tanımlar.
    9. wp-includes / general-template.php – en bilinenleri get_header (), get_footer (), get_sidebar () olan genel şablon işlevlerini tanımlar.
    10. wp-include / link-template.php – muhtemelen zaten bildiğiniz bağlantı şablonu işlevlerini tanımlar – site_url (), previous_post_link (), get_permalink () ve diğerleri.
    11. wp-include / author-template.php – yazarla ilgili şablon işlevlerini tanımlar: the_author (), the_author_meta (), the_author_posts ().
    12. wp-includes / post.php – register_post_type (), get_post (), get_post_meta () ve diğerleri gibi post işlevlerini tanımlar.
    13. wp-includes / post-template.php –_ID () ve_title () gibi yazı şablonu işlevlerini tanımlar.
    14. wp-includes / category.php – get_categories () veget_tags () gibi kategori ve etiket işlevlerini tanımlar.
    15. wp-includes / category-template.php – the_tags (), the_category () gibi kategori şablonu işlevlerini tanımlar.
    16. wp-include / comment.php – yorum yönetimi için işlevler tanımlar; bunlar arasında get_comments (), bir yorum onaylandığında wp_allow_comment (), pingback () ve WP_Comment_Query sınıfı (geçen haftaki Ekran Tutulan Yorum Sayısı’nın temeli budur) Moderasyon makalesi için).
    17. wp-include / comment-template.php – wp_list_comments (), get_comments_number () ve diğerlerini tanımlar.
    18. wp-includes / rewrite.php – Yeniden Yazma API’sinin temel sınıfı olan ve istek yönlendirmesini işleyen WP_Rewrite sınıfının ana sayfası. Bu dosya, add_rewrite_rule (), add_rewrite_endpoint () ve diğerleri gibi $ wp_rewrite global etrafındaki sarmalayıcı işlevlerini tanımlar. Kalıcı bağlantılar, diğer temel unsurların yanı sıra, bu açığa çıkan işlevler ve yöntemler sayesinde çalışır.
    19. wp-includes / feed.php – WordPress Besleme API’sini, get_the_content_feed (), fetch_feed () ve RSS, RSS2, Atom ve RDF beslemelerine bağlı diğer yararlı şeyler gibi işlevlerle tanımlar.
    20. wp-includes / bookmark.php – Link / Bookmark API burada yaşar ve asget_bookmarks () gibi işlevleri açığa çıkarır.
    21. wp-includes / bookmark-template.php – Bağlantı / Yer imi ile ilgili şablon işlevleri burada bulunur. Şablon etiketi olarak kullanılabilen kullanıma hazır tek işlev, büyük olasılıkla şablonlarınızda kullanmış olduğunuz wp_list_bookmarks () işlevidir. Artık nereden geldiğini biliyorsun.
    22. wp-includes / kses.php – istenmeyen etiketleri çıkarmak, normalleştirmek ve filtrelemek için kullanılan işlevleri tanımlar. Bu işlevler, web sitenizi kalıcı XSS ​​saldırılarından ve diğer kötü niyetli kötülüklerden korur. Wp_kses () işlevi, hem ön uç hem de arka uç kullanıcılardan istenmeyen verileri filtrelemek için harikadır.
    23. wp-includes / cron.php – CRON API, WordPress içinde tetiklenecek olayları planlamanıza izin verir, olaylar, seçenekler tablosundaki ‘cron’ girişinde serileştirilmiş veri olarak saklanır. Eylemlerin planlanması wp_schedule_event () vewp_schedule_single_event () işlevleri aracılığıyla yapılır. Bu işlevlerin nasıl kullanılabileceği hakkında daha fazla bilgi için, WordPress Cron API ile ilgilenen WordPress Yazı Eklentisine Tweet Yazma (Bölüm 1) makalemize bakın.
    24. wp-include / deprecated.php – bu dosya, kullanımdan kaldırılan ve WordPress’in gelecek sürümlerinde kaldırılacak olan işlevleri içerir. Hala get_author_name () oris_plugin_page () mi kullanıyorsunuz? Bu işlevlerin kullanılması şimdilik kullanımdan kaldırma mesajları atacaktır ve yakın gelecekte komut dosyalarınız çalışmayabilir. Kullanımdan kaldırılmış bir işlev kullanıyorsanız, bu dosyayı açın, bulun ve yakında nasıl idare edeceğinizi görün.
    25. wp-includes / script-loader.php – wp_enqueue_scripts (), bu dosyada, bir WordPress sayfasının başlığına stil sayfaları ve javascript eklemenizi sağlayan diğer kullanışlı işlevlerin yanı sıra tanımlanmıştır. Komut dosyası, bir ana enqueue sınıfını, wp-include / class.wp-scripts.php, wp-includes / functions.wp-scripts.php tanımlayan wp-include / class.wp-dependencies.php içinde tanımlanan BackPress bağımlılıklarını kullanır. (wp_enqueue / dequeue_script ()), wp-include / class.wp-styles.php ve wp-include / functions.wp-styles.php (wp_enqueue / dequeue_style ()).
    26. wp-includes / taxonomy.php – WP_Tax_Query sınıfını tanımlar ve get_taxonomy () gibi global $ wp_taxonomies değişkeni etrafında her tür sarmalayıcı işlevi sağlar.
    27. wp-includes / update.php – WordPress ve bileşenlerini güncellemek için belirlenmiş bir dizi işlevi tanımlar. wp_version_check (), wp_update_plugins () ve wp_update_themes () ve diğerleri.
    28. wp-includes / canonical.php – kanonik URL’leri zorlamak için kullanılan işlevler. Standartlaştırmanın ne olduğunu öğrenmek istiyorsanız bu makaleye göz atın
    29. wp-includes / shortcodes.php – add_shortcode (), do_shortcode (), strip_shortcodes () ve diğer yararlı olanlar gibi Shortcodes API etrafında dönen bir dizi işlev sağlar.
    30. wp-includes / media.php – WP_Embed sınıfını ve add_image_size (), set_post_thumbnail_size (), image_resize () gibi bir dizi işlevi tanımlar, özellikle üçüncü taraf resim yeniden boyutlandırma eklentileri yanlış gittiğinde çok yararlıdır. Ayrıca WordPress’teki Resimlerimize, Görsel Boyutlarımıza ve Küçük Resimleri Yayınlama makalemize de göz atmayı unutmayın.
    31. wp-include / http.php – wp_remote_post / get () ve wp_remote_request () gibi bazı basit HTTP işlevlerini tanımlar ve diğer sayfaları istemek gibi oldukça düzgün şeyler için kullanılabilir.
    32. wp-includes / class-http.php – WP_Http, WP_HTTP_Proxy, WP_Http_Cookies ve WordPress’in ve eklentilerinizin HTTP isteklerini yönetmesine ve işlemesine izin veren yöntemleri ortaya çıkaran diğer yararlı sınıfları tanımlar.
    33. wp-includes / widgets.php – WP_Widget ve WP_Widget_Factory sınıfları burada tanımlanır ve dynamic_sidebar (), register_sidebar (), register_widget () ve diğerleri gibi işlevler.
    34. wp-includes / nav-menu.php – diğerleri arasında register_nav_menu () işlevini tanımlar, bu da gezinme menülerini yönetmenize izin verir.
    35. wp-includes / nav-menu-template.php – tahmin ettiniz, wp_nav_menu () burada tanımlanmıştır, evet, çoğu WordPress şablonunda gezinme kodunu görüntülemek için kullanılan şablon.
    36. wp-includes / admin-bar.php – ve son olarak, bu dosya bir yönetici olarak oturum açmış olarak WordPress web sitenize göz attığınızda gördüğünüz Yönetici çubuğuyla ilgili işlevleri tanımlar.
  4. Bir çoklu site çalıştırmadığımız için (umarız, çoklu site bu makalenin kapsamı dışında olduğundan) wp-settings.php, bazı eklenti dizin sabitlerini wp_plugin_directory_constants () işlevleri (wp-includes / varsayılan sabitler.php). PLUGINDIR ve WP_PLUGIN_URL gibi sabitler genel kapsamda açılır.
  5. wp_cookie_constants () çağrılır, çerez yolu ve isim sabitleri açılır. Bu işlev çağrısının ardından, yalnızca iki sabiti tanımlayan benzer bir wp_ssl_constants () çağrısı gelir: FORCE_SSL_ADMIN ve FORCE_SSL_LOGIN.
  6. wp-include / vars.php kapsama yüklenir. Bu dosya, WordPress ve bileşenlerinden erişilebilen ortak globaller oluşturur. Bu globaller, $ pagenow global, basit tarayıcı algılama globallerini ($ is_lynx, $ is_gecko, $ is_winIE ve diğerleri) ve web sunucusu algılama globallerini ($ is_IIS, $ is_apache, “hayır nginx algılama yok”) içerir.
  7. WordPress’te kullanılan tüm ilk taksonomileri oluşturan create_initial_taxonomies () (wp-includes / taxonomy.php içinde tanımlanmıştır) çağrılır: category, post_tag, nav_menu, link_category vepost_format.
  8. create_initial_post_types () benzer şekilde adlandırılır (wp-include / post.php içinde tanımlanmıştır). Burada şu gönderi türleri kaydedilir: gönderi, sayfa, ek, revizyon, nav_menu_item. Şu gönderi durumları kayıtlıdır: yayınla, gelecek, taslak, beklemede, özel, çöp kutusu, otomatik taslak, devral.
  9. register_theme_directory () argüman olarak get_theme_root () sağlayarak, evet tahmin ettiniz, tema dizinini kaydettiniz.
  10. wp_get_active_and_valid_plugins (), yüklenmek üzere tüm aktif eklenti dosyalarının listesini alır ve bunları içerir. Bu, eklenti kodunuzun çalıştırıldığı, işlevlerin, sınıfların tanımlandığı vb. Noktadır.
  11. Eklentiler tarafından yeniden tanımlanabilen işlevleri (ve kullanımdan kaldırılan işlevleri) içeren wp-includes / wp-pluggable.php ve wp-includes / wp-pluggable-deprecated.php içerir. Daha gelişmiş postalama için wp_mail () gibi, alternatif kimlik doğrulama yöntemleri için wp_authenticate () vb.
  12. wp_set_internal_encoding (), dahili kodlamayı blog_charset seçeneğine göre ayarlamak için çağrılır.
  13. wp_cache_postload (), nesne önbelleğe alma etkinleştirilmişse çağrılır.
  14. Bu noktada bir plugins_loaded eylemi tetiklenir. Bu, bağlayabileceğiniz ilk eylemdir (aftermuplugins_loaded, çoklu site olmayan WordPress eklentilerini yüklemeden önce tetiklenir), WordPress henüz başlatılmadığı için, en azından tam olarak değil, başlangıçtan önce gelir.
  15. wp_functionality_constants (), AUTOSAVE_INTERVAL, EMPTY_TRASH_DAYS veWP_POST_REVISIONS sabitlerini tanımlar.
  16. wp_magic_quotes (), POST ve GET isteklerine sihirli tırnak işaretleri ekler ve bunları $ _REQUEST globalde birleştirir.
  17. $ Wp_query genel nesnesi, WP_Query sınıfından somutlaştırılır.
  18. $ Wp_rewrite global nesnesi, WP_Rewrite sınıfından somutlaştırılır.
  19. $ Wp global nesnesi, WP sınıfından başlatılır. Yaşasın!
  20. $ Wp_widget_factory, WP_Widget_Factory sınıfından somutlaştırılır.
  21. Bu noktada, setup_theme kancalarınız çalıştırılır, ardından wp_templating_constants () ‘dan şablon sabit tanımları ve varsayılan yerelleştirme text-domain loadingload_default_textdomain () gelir.
  22. $ Locale değişkeni tanımlanır ve wp-content / languages ​​/ klasörü gerekli WordPress yerelleştirme dosyalarını gerektirecek şekilde aranır.
  23. wp-include / locale.php, WP_Locale sınıfını tanımlayarak yüklenir ve bir $ wp_locale global olarak somutlaştırılır.
  24. Tema işlev dosyaları (functions.php) bu noktada hem ana hem de alt temalar için yüklenir.
  25. do_action (‘after_setup_theme’) tema kurulumunun sonunu belirtmek için çalıştırılır.
  26. Mevcut tema küçük resimleri destekliyorsa, get_the_post_thumbnail () gibi şablon etiketlerini tanımlayan wp-include / post-thumbnail-template.php yüklenir.
  27. Shutdown_action_hook adında bir kapatma işlevi kaydedilir (wp-includes / load.php içinde tanımlanmıştır). Bu işlev, WordPress komut dosyasının yürütülmesi neredeyse tamamlanmadan önce eklentilerin bağlanması için kapatma eylemini başlatır.
  28. WordPress’i başlatan $ wp-> init () denir. Bu başlatma işlemi, global $ current_user değişkenini nemlendiren wp_get_current_user () (wp-includes / pluggable.php içinde tanımlanmıştır) içerir.
  29. Başlatma eylemi ateşlendi.
  30. Wp_loaded eylemi ateşlendi.

Ne kadar uzun bir süreç ve bu onun sonu değil. Wp-settings.php’nin, bu zamana kadar yürütülecek daha fazla koda sahip olmayan wp-config.php’ye nasıl dahil edildiğini hatırlayın, bu nedenle, kendi kodunu yürütmeyi bitiren wp-load.php’yi çağırın, yani callee wp-blogu -header.php, sonuçta gerekli HTML koduyla HTTP isteğini döndürmek için WordPress’i başlatmaya devam etmelidir.

Son olarak, gerçekten derin sulara daldıktan sonra, hızlıca bir nefes alabilir ve WordPress’in nasıl başlatıldığının üçüncü ve son bölümünde daha fazla WordPress İçselini keşfetmeye devam edebiliriz. Bu yüzden, bizi izlemeye devam edin, WordPress ipuçları, püf noktaları, geliştirme ve tasarım makaleleri için Twitter beslememizi takip edin ve bu WordPress yüklemesinin bir kısmını karıştırırsam bana haber vermeyi unutmayın. exit().