Nasıl yapılır: WordPress'te genel değişkenleri incelemek


22

İnsanlar genellikle küresel nesnelerden / değişkenlerden veri elde etme konusunda kafaları karışıyor

Soru: Global değişkenleri hangi yollarla denetleyebilirsiniz?


Bu Q yazıldı çünkü WA'da oldukça sık gerekli. Sadece buraya bağlantı kurmanın bir favorisi olmasını istedim (insanlar genellikle github özü bağlantılarına bakmazlar).

Bir şey yanlışsa örneği değiştirmekten çekinmeyin veya açıklamanın bir şey eksik olduğunu düşünüyorsanız. Başka faydalı şeyler eklemek istiyorsanız, lütfen her birini tek bir cevap olarak ekleyin. Teşekkür ederim.


Bu bir topluluk wiki olmalı veya bir soruya dönüştürülmelidir.
t31os

@ t31os Bunu yapabilir misiniz? Nerede bir topluluk wiki bulabileceğimi bile bilmiyorum ...
kaiser

Sanırım daha önce beta yaptıysam, şu anda olmasa da, rep gereksinimleri daha yüksek, soruyu wiki olarak işaretlemek için daha yüksek bir rep kullanıcısı istemek gerekebilir, belki @Rarst veya @MikeSchinkel olabilir ..
t31os

@MikeSchinkel @Rarst @Jan Fabry - push
kaiser

Yanıtlar:


12

Ya da tembelseniz Debug Bar eklentisini kurmanız yeterli.

Yönetici çubuğuna, tıklandığında amortisman bildirimleri, WP_Query değişkenleri ve bir SQL sorgu günlüğü de dahil olmak üzere her türlü yararlı bilgiyi içeren bir panel gösteren bir düğme ekler.


Kesinlikle doğru. Ancak size küresel değişkenlere / nesnelere nasıl erişeceğinizi ve bunun parçalarını nasıl çıkaracağınızı açıklamayacaktır.
kaiser

Btw: Bunun nasıl çalıştığı hakkında kısa bir açıklama ekler misiniz? Sanırım bu "nasıl yapılır temelleri" -AQ'nın genişletilmesine gerçekten yardımcı olabilirdi / olurdu.
kaiser

@kaiser: Tamamlandı.
scribu

4

Veriler nasıl denetlenir:

Geçerli istek / wp_query'den neler kullanabileceğinizi görmek için bunu kullanın.

function inspect_wp_query() 
{
  echo '<pre>';
    print_r($GLOBALS['wp_query'])
  echo '</pre>';
}
// If you're looking at other variables you might need to use different hooks
// this can sometimes be a little tricky.
// Take a look at the Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
add_action( 'shutdown', 'inspect_wp_query', 999 ); // Query on public facing pages
add_action( 'admin_footer', 'inspect_wp_query', 999 ); // Query in admin UI

btw:

    // this:
    global $wp_query;
    $wp_query;
    // is the same as
    $wp_query;
    // and as this:
    $GLOBALS['wp_query'];

// You can do this with each other global var too, like $post, etc.

Verileri gerçekten nasıl elde edersiniz:

// Example (not the best one)
(Object) WP_Query -> post (stdClass) -> postdata (Array)

// How to get the data:
// Save object into var
$my_data = new WP_Query; // on a new object
// or on the global available object from the current request
$my_data = $GLOBALS['wp_query'];

// get object/stdClass "post"
$my_post_data = $my_data->post;
// get Array
$my_post_data = $my_data['post'];


Örnekler
Tüm kenar çubuğu adlarını listele?
(Bir aşağı açılır oluşturun / içindeki tüm kenar çubukları olan nesneyi seçin global $wp_registered_sidebars)


0

Betikleri yükleme ve son çıktıyı oluşturma sürecinde, yukarıda belirtilen değişkenlerin bazıları bulunmayabilir. Oldukça kapsayıcı bir görünüm istiyorsanız, belki de biraz aşırı, deneyin:

var_dump($GLOBALS);

var_dump ayrıca size türünü ve veriyi biraz biçimlendirdiğini söylemesi açısından çok hoş.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.