Yanıtlar:
Bunlar şöyle tanımlanır:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
dirname
ana dizinin yolunu döndüren bir PHP işlevidir ve wp-includes
oldukça açıklayıcıdır.
Bence daha ABSPATH
iyi çünkü WP'nin yüklediği ilk şeylerden biri ve daha da iyi görünüyor :) Ama gerçek bir "doğru yol" yok çünkü ikisi de çalışıyor.
if ( ! defined( 'WPINC' ) ) die;
ve if ( ! defined( 'ABSPATH' ) ) exit;
eklenti dosyanıza doğrudan erişimi engelleyerek ekstra bir güvenlik katmanı ekleyin. ABSPATH
WordPress tarafından özünde tanımlanmış bir PHP sabitidir.
Eklenti dosyanıza WordPress dışından erişilirse, sabit ABSPATH
veya WPINC
tanımlanmayacaktır, bu nedenle eklenti kodundan çıkarak kodunuza yetkisiz erişimi engeller.
ABSPATH
ve WPINC
WordPress çekirdek olarak tanımlanmıştır:
define( 'ABSPATH', dirname(dirname(__FILE__)) . '/' );
define( 'WPINC', 'wp-includes' );
Her ikisi de aynı amaç için kullanılır.
WPINC ve ABSPATH arasındaki farklar nelerdir?
Kendin kontrol edebilirsin. Sadece bakmakwp-load.php
GitHub'dan WordPress aynaya.
Hatta hızlı bir bakış Seçilen cevap artık doğru olarak nasıl olduğunu gösterecektir ABSPATH
tanımlanır. GitHub'daki farklı etiketleri karşılaştırırsanız ABSPATH
tanımın gerçekte zaman içinde değiştiğini göreceksiniz .
Hangisi yapmanın 'doğru' yolu?
Bunlar güvenlik için kullanılırsa giderdim ABSPATH
. Gerekçe ABSPATH
sadece WP önyükleyicisinde ilk WPINC
olarak tanımlanmamış, aynı dosyadaki bir koşul altında tanımlanmış ve sonuç olarak gelecekteki bir gerileme yaşanması daha muhtemeldir.
Açıkça sorulan olmasa da, ayrıca, ikisini de kullanarak örnek sağladı die
ve exit
. Göre devdocs.io
resmi API belgeleri üzerinde çizer hangi, die
eşdeğerdir exit
ya ikisinin seçebilir ve bir farklılık yaratmayacaktır, böylece.
İkisini de die
ve exit
argümanları kabul eder, böylece şifreli bir sürüm etiketi veya iletişim bilgisi gibi bazı yararlı bilgileri, iptal ettikten sonra iptal etmek 0
veya -1
daha sonraki işlemler için bir çıkış kodu iletmek için kullanmayı düşünebilirsiniz .
Ayrıca dikkat edilmesi gereken wp_die
de bu bir şey. PHP yerleşikleriyle karıştırılmamalıdır, ancak düz metne ek olarak HTML çıktısında kullanım için övgüde bulunur ve şu anda WordPress çekirdeği boyunca liberal olarak kullanılır. WordPress.org hakkında daha fazla bilgiwp_die
edinin .
if ( ! defined( 'ABSPATH' ) ) exit;
belki bu pasajı kapsamı daha tutar olduğundan wordpress daha iyi 'WPINC' dir yüklendiğinden emin olduğunu düşünün ... ama wordpressfull 'WP' ile dik dik bakma.