Wordpress döngü dışında Mesaj Bilgi Edinme

7 Cevap php

I () sayfa hakkında veri dönecektir, ama ben döngü dışında aşağıdaki bilgileri almak için bir yol arıyorum o is_single gibi işlevler vardır biliyorum:

Tek yazının kategorisi.

VE

Tek yazının başlığı.

Gerçekten ihtiyacınız olan tüm söz sonrası kimliği ve tüm diğer bilgileri alabilir. Ben kodeksi de işlevleri referans yoluyla baktım, ama ben bir şey bulamadım. Komut dosyası bile döngü çalışır til bu bilgiyi 'almaz, çünkü bu imkansız mı?

(Ben üstbilgi ve altbilgi hem de bu bilgilere ihtiyaç, bu yüzden ki bir sorun varsa, önce ve döngü için PHP script sonra.)

Umarım birileri fikir sunabilir.

EDIT: açıklığa kavuşturmak için: ben bilgisi "tek" sayfasında döngü içinde yüklü görevinden olmak istiyorum. (Yazı AKA onlar incelemekte.) Peki ben ilk etapta bu kimliği almak istiyorsunuz? Bir mesajı görüntülerken Temelde, ben onun kategori veya unvanını almak istiyorum, ama döngü gidiyor değil iken.

7 Cevap

Kendi sorgu yürütmek ve bir $ post nesneyi döndürmek ve sonra gibi bir şey aracılığıyla öznitelikleridir erişebilir

echo $post->title;

Kodeksi yaklaşık $ wpdb ve Custom Queries okuyun. Temelde onun $ wpdb nesnesi aracılığıyla bir yerde filtre olarak kimliğini kullanarak bir SQL sorgusu çalıştırmak olabilir.

Başka bir seçenek, daha WP gibi bir Custom Query Post, onun kimliği kullanarak sadece yazı dönen, başka bir döngü tanımlayabilirsiniz nerede kullanmak olacaktır:

query_posts('p=2010'); // 2010 being the post's ID

Sonra alternatif döngü çalıştırmak ve bazı bilgilerini görüntülemek için benzer $ post nesnesini kullanabilirsiniz.

Bu aslında oldukça basittir.

// Gets an array of post objects.  
// If this is the single post page (single.php template), this should be an
// array of length 1.
$posts = get_posts();
// The post object contains most/all of the data that is accessible through the 
// normal functions like `the_ID()`, `the_author()`, etc
var_dump($posts[0]->ID);

Bu dışında yapılabilir ve bu normal döngü etkilemez. Örneğin, benim single.php şablonu bu gibi görünüyor (satır numaraları dahil):

1. <?php
2. get_header(); 
3. $posts = get_posts();
4. var_dump($posts[0]->ID);
5. ?>
6. <div id="post">

Bu benim bir yeni bir sorgu çalıştırmak için döngü içinde ne kullanın; Ben sadece döngü dışında denedim ve bir single.php şablonu sayfasında çalışır. Bu mycategory en son yazının başlığını verecektir. Gerçi kategori kimliği çekin nasıl bilmiyorum.

$my_query = new WP_Query('category_name=mycategory&showposts=1');
while($my_query->have_posts()):
    $my_query->the_post();
    the_title();
endwhile;

Sorgu çalıştırıldıktan sonra, yeniden çalıştırmayı deneyin:

global $wp_query;
var_dump( $wp_query );

Aradığınız bilgi $wp_query->query_vars veya $wp_query->post olarak muhtemelen

Eğer sayfada ayrı bir değişken olarak $ post bilgileri depolamak değil, o sadece bunu (yani döngü dışında) gerektiğinde daha sonra dışarı gereken verileri echo?

Bu ilk döngü bittikten sonra veri ihtiyacı dayandırılmaktadır.

Sen $ WP_Query küresel nesne kullanmak, ve bu gibi tüm iade mesajlarını ele alabilir

$wp_query->posts ;  // contains an array of posts.

Örneğin Eğer sonrası ilk belli post_type ait olup olmadığını bilmek gerekir eğer, bunu yapabilirsiniz:

$first_post_type = $wp_query->posts[0]->post_type;

Olağan bir şey, dolayısıyla sizin ihtiyaç duyulan verileri gerekli yazıyı ayıklamak istiyorum "ikinci döngü" yaratmaktır.