• 07-12-2018, 14:17:28
    #1
    Merhabalar

      function kategori_id(){
                          global $wp_query;
                          if(is_category() || is_single()){
                          $cat_ID = get_query_var();
                          }
                          return $cat_ID;
                          }
                          $kategori_al = $cat='1';
                          $alt_kategoriler =  get_categories('child_of='.$kategori_al.'&parent='.$kategori_al.'&hide_empty=0');
                          foreach ($alt_kategoriler as $kat)
    
                          {
                          ?>
    Burada bir döngü var ancak ben bunu 10 tane ile sınırlandırmak istiyorum, çağırdığı kategoriyi 10 tane ile sınırlandıracağım. Foreach ı for a nasıl çevirebilirim. Yardımcı olabilirmisiniz.
  • 07-12-2018, 14:19:22
    #2
    for($i=0;$i<10;$i++)
    {
         $alt_kategoriler[$i]
    }
    Veya SQL DB kullanıyorsanız LIMIT verebilirsiniz.
  • 07-12-2018, 14:24:26
    #3
    İllaki for olmak zorunda değil,

    $i = 1;
    foreach($array as $item){
    if($i < 11){
    //kod bloğu
    }
    $i++;
    }
    veya

    $i = 1;
    foreach($array as $item){
    
    //kod bloğu
    
    if($i == 10){
    break;
    }
    $i++;
    }
    sanırım ikincisi performans için daha iyi olur.
  • 07-12-2018, 14:30:24
    #4
    Hiç birine gerek yok get_categories fonksiyonuna number parametresi girebiliyosunuz bu sayede sql de limitlemis olursunuz bu sayede gereksiz sorguda çekmezsiniz.
  • 07-12-2018, 14:32:53
    #5
    Hapsher adlı üyeden alıntı: mesajı görüntüle
    İllaki for olmak zorunda değil,

    $i = 1;
    foreach($array as $item){
    if($i < 11){
    //kod bloğu
    }
    $i++;
    }
    veya

    $i = 1;
    foreach($array as $item){
    
    //kod bloğu
    
    if($i == 10){
    break;
    }
    $i++;
    }
    sanırım ikincisi performans için daha iyi olur.
    <div class="row">
                          <?php
                          function kategori_id(){
                          global $wp_query;
                          if(is_category() || is_single()){
                          $cat_ID = get_query_var();
                          }
                          return $cat_ID;
                          }
                          $kategori_al = $cat='1';
                          $alt_kategoriler =  get_categories('child_of='.$kategori_al.'&parent='.$kategori_al.'&hide_empty=0');
                          $i = 1 ;
                          foreach ($alt_kategoriler as $kat){
                          ?>
                        <div class="col-md-2 col-xs-6">
                            <div class="home-brand-box"><a href="<?php echo get_category_link( $kat->cat_ID ); ?>"><div class="home-brand-logo"><img src="<?php if (function_exists('get_wp_term_image'))
                          {
                          $meta_image = get_wp_term_image($kat->cat_ID);
                          //It will give category/term image url
                          }
    
                          echo $meta_image; ?>" alt=""></div> <?php echo  $kat->name; ?></a></div>
                        </div>
    
                          <?php } ?>
    
                        </div>
    Üstad bunun içine bi türlü ekleyemedim :S
  • 07-12-2018, 14:34:07
    #6
    bikerboys adlı üyeden alıntı: mesajı görüntüle
    Merhabalar

      function kategori_id(){
                          global $wp_query;
                          if(is_category() || is_single()){
                          $cat_ID = get_query_var();
                          }
                          return $cat_ID;
                          }
                          $kategori_al = $cat='1';
                          $alt_kategoriler =  get_categories('child_of='.$kategori_al.'&parent='.$kategori_al.'&hide_empty=0');
                          foreach ($alt_kategoriler as $kat)
    
                          {
                          ?>
    Burada bir döngü var ancak ben bunu 10 tane ile sınırlandırmak istiyorum, çağırdığı kategoriyi 10 tane ile sınırlandıracağım. Foreach ı for a nasıl çevirebilirim. Yardımcı olabilirmisiniz.
    mehmetuken adlı üyeden alıntı: mesajı görüntüle
    Hiç birine gerek yok get_categories fonksiyonuna number parametresi girebiliyosunuz bu sayede sql de limitlemis olursunuz bu sayede gereksiz sorguda çekmezsiniz.
    get_categories fonksiyonunu nereden gördünüz? ya da number parametresini?

    Düzeltiyorum wordpress miş ben yokum cehaletime verin
  • 07-12-2018, 14:34:32
    #7
    function my_home_category( $query ) {  
      if ( $query->is_home() && $query->is_main_query() ) {
           $query->set( 'cat', '11');
      }
    }
    add_action( 'pre_get_posts', 'my_home_category' );
    $query->set( 'cat', '11, 14' );
    https://developer.wordpress.org/refe...et_categories/
  • 07-12-2018, 14:34:51
    #8
    mehmetuken adlı üyeden alıntı: mesajı görüntüle
    Hiç birine gerek yok get_categories fonksiyonuna number parametresi girebiliyosunuz bu sayede sql de limitlemis olursunuz bu sayede gereksiz sorguda çekmezsiniz.

    Çok teşekkürler hocam
  • 07-12-2018, 14:38:25
    #9
    bikerboys adlı üyeden alıntı: mesajı görüntüle
    <div class="row">
    <?php
    function kategori_id(){
    global $wp_query;
    if(is_category() || is_single()){
    $cat_ID = get_query_var();
    }
    return $cat_ID;
    }
    return neden if'in dışarısında ?