PDA

Orijinalini görmek için tıklayınız : have_post() kodu



olkunmustafa
11-05-2012, 12:14
"while (have_posts()) : the_post();"

Yukarıdaki kodda while döngüsü tam olarak neyi döndürdüğü anlayamadım.Yani burda have_posts() neyin döngüsü yani tam olarak ne analma geliyor ????

Çağrı
11-05-2012, 14:06
single.php, page.php, tag.php gibi dosyalarda kullanlır. örneğin;

single.php'de önce bakar, eğer yazı varsa yazıyı dönderir, yoksa döngünün devamında ne yazmışsan onu basar (404 hatası gibi).

?p=34 linki mesela, tekil yazıdır. 34 id'li yazıya bakar.

olkunmustafa
11-05-2012, 14:22
single.php, page.php, tag.php gibi dosyalarda kullanlır. örneğin;

single.php'de önce bakar, eğer yazı varsa yazıyı dönderir, yoksa döngünün devamında ne yazmışsan onu basar (404 hatası gibi).

?p=34 linki mesela, tekil yazıdır. 34 id'li yazıya bakar.

Ben işin özünü anlamak için birşey daha sorayım diyelim ki ben aynı içeriği 10 kere sayfa da göstericem.Yani döngü aynı postu o kere yazdırana kadar devam etsin.Yani klasik olarak while döngüleri gibi çalışsın.

<?php

$isim = "mustafa"
$i=0
while (i<10)
{
echo mustafa;
i++;} ?>

Mesela burada kabaca musatafayı 10 kere yazdırdım.Kodlar yanlışlık olabilir hızlıca yazdım.Yani ne demek istediğimi anlattım umarım....

Çağrı
11-05-2012, 15:12
şöyle birşey olabilir diye tahmin ediyorum, daha önce hiç denemedim. (single.php kodları hayalidir, kendine göre düzenlemen gerekir)




<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
//bundan sonrasını bir fonksiyon içe alalım.

<?php function yazimiz() { ?>

<div class="post" id="post-<?php the_ID(); ?>">
<div class="post-info">
<img src="<?php bloginfo('template_directory') ?>/images/authors/<?php the_author_ID()?>.jpg" alt="<?php the_author() ?>" alt="<?php the_author() ?>" title="<?php the_author() ?>" />
<em><?php the_time('F jS, Y') ?></em>
<span class="post-tag"><?php the_tags('', ' . ', ''); ?></span>
</div>

<div class="entry">
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
</div>

<?php } ?> //fonksiyon bitiş

//şimdi bir for döngüsü oluşturalım. yazimiz() fonksiyonunu 10 kere döndürelim.

<?php
for ( $say=1 ; $say < 10; $say++ )
{

$say = yazimiz();

echo $say;
}
?>

olkunmustafa
11-05-2012, 15:23
Öncelikle çok teşekkür ederim.

<img src="<?php bloginfo('template_directory') ?>/images/authors/<?php the_author_ID()?>.jpg" şurda neyin resmini aldığınızı anlayamadım.Yazara ait yazıların resmini mi???

Çağrı
11-05-2012, 15:30
Yazarın resmi. Gerek yok ona. dediğim gibi kodlar hayali. Yine de açıklayım, yazara ait bir resmi almanın bir yolu bu. Örneğin admin kullanıcısının id'si 1 ise, images/authors/ klasörü içine 1.jpg resmi atarsan onu çekiyor :)