• 23-08-2013, 04:35:35
    #1
    Merhaba. Bir tema yapmaya çalışıyorum ancak wordpress'te yeni olduğum ve php bilmediğim için basit bir konuda tıkandım. Konu şu;
    Anasayfada bütün kategorilere ait yazıların sadece başlıklarını listelettiğim bir sidebar var. Bunu aşağıdaki kod ile sağlıyorum.

    <?php query_posts('showposts=30&orderby=date'); ?> 
    		<?php while (have_posts()) : the_post(); ?> 
            <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
            <?php endwhile; ?>
            <?php wp_reset_query(); ?>
    istediğim şey ise, sadece anasayfada tüm kategorilere ait yazıların başlıklarını listeletmek ve herhangi bir kategoriye gidildiğinde, sadece o kategoriye ait yazıların başlıklarını listeletmek. Sanırım if yapısı ile anasayfa olup olmadığı kontrol edilecek ve değilse showposts=30&orderby=date&cat=id şeklinde bir kod düzenlemesi gerekiyor ancak hiç php bilmediğim için yapamıyorum. Yardımcı olursanız sevinirim.
    ---------------------------
    Edit: İkinci bir sorum ise, yaptığım tema çok basit bir tema olacak ve bu temada sadece index.php, header.php,footer.php dosyaları var. Ben illa function.php,archive.php,search.php falan diğer sayfalarıda temaya eklemelimiyim? Tema şu haliyle çalışıyor ancak bu dosyaların olmayışı bir güvenlik açığına zemin oluştururmu?
  • 23-08-2013, 11:21:39
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    tam anlayamadım kategorileri listeletmek istiyorsan <?php wp_list_cats('title_li='); ?> yada <?php the_category(', '); ?> bunları kullanabilirsin
    search.php function.php olmasa da olur fakat arama yaptırmak istersen ya da temaya bir özellik ekleyeceksen bunlar lazım olucak, yazdığın eski yazılar için arşiv.php lazım olur eğer arama vs. bişey olmayacaksa silebilirsin
  • 23-08-2013, 16:00:16
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşım öncelikle function.php,archive.php,search.php dosyalarının herbirinin bir amacı vardır. Senin istediğin şekilde kategori sayfasına gidildiğinde o kategoriye ait yazı başlıklarını görüntülemek için archive.php dosyası kullanman gerekir. function.php dosyasına, eğer yazacağın herhangi bir fonksiyon yok ise, gerek yok demektir. Ama dersen ki benim temamda dynamic sidebar falan da olacak o zaman bu dosyaya da ihtiyacın var. search.php de sitenin arama bölümüdür. Sitende bir arama bölümü varsa eğer bunu da koymak zorundasın.

    Archive.php bölümünün en başına listelenen kategori adını yazdırmak istiyorsan (Bla bla bla Kategorisi gibi) aşağıdaki kodu kullanabilirsin.
    Alıntı
    <?php $category = get_the_category(); echo $category[0]->cat_name; echo" Kategorisi"; ?>
    Yazıların başlıklarını yazdırırken de şunu kullanabilirsin;

    Alıntı

    <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
    <h3><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
    <?php endwhile; ?>
    <?php else : ?>
    <?php endif; ?>
    İyi çalışmalar kolay gelsin.
  • 23-08-2013, 23:36:16
    #4
    Cevaplarınız için teşekkürler.
    Edit:

    Arkadaşlar belirttiğiniz kodlarla sorunu çözemedim. İstediğim şey tam olarak şu;
    <?php query_posts('showposts=30&orderby=date'); ?> 
    		<?php while (have_posts()) : the_post(); ?> 
            <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
            <?php endwhile; ?>
            <?php wp_reset_query(); ?>
    burada query_posts('showposts=30&orderby=date&cat=kategoriid')

    kırmızı olarak belirtilen kategoriid kısmına ilgili kategorinin id'sini nasıl çekebilirim?
  • 24-08-2013, 01:21:30
    #5
    LPRN adlı üyeden alıntı: mesajı görüntüle
    Cevaplarınız için teşekkürler.
    Edit:

    Arkadaşlar belirttiğiniz kodlarla sorunu çözemedim. İstediğim şey tam olarak şu;
    <?php query_posts('showposts=30&orderby=date'); ?> 
    		<?php while (have_posts()) : the_post(); ?> 
            <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
            <?php endwhile; ?>
            <?php wp_reset_query(); ?>
    burada query_posts('showposts=30&orderby=date&cat=kategoriid')

    kırmızı olarak belirtilen kategoriid kısmına ilgili kategorinin id'sini nasıl çekebilirim?
    Belirttiğin yere sadece kategori id'sini girmen yeterli. Şu şekilde olmalı;
    <?php
    query_posts( 'showposts=30&orderby=date&cat=16' );
    ?>
    "16" yerine kategorinin ID'sini yazacaksın. Kategori id'sini bilmiyorsan eğer, admin panelde kategorileri görüntüle ve ID'sini öğrenmek istediğin kategorinin üzerine mouse'unu götür aşağıda linkin tamamını gösteren bölümde "tag_ID=" şeklinde bir bölüm göreceksin eşittirin yanındaki rakam o kategorinin ID'sidir.

    Eğer aşağıdaki linki incelersen query_posts kodunun kullanımını görebilirsin.
    http://codex.wordpress.org/Function_...ce/query_posts
  • 24-08-2013, 01:28:26
    #6
    Teşekkürler, hallettim.