2016-03-29 22 views
0

product_categories adlı özel bir sınıflandırma oluşturdum. kategori görüntü için Banner resimözel taksonomi sıralama düzeni çalışmıyor

  • için

    1. ve sıralama sipariş için

    2. :

      Bu üç alanı vardır.

    Sıralama düzenini de veren 10 kategori ekledim.

    Şimdi bunu sıralama düzeninde göstermek istiyorum, ancak çalışmıyor.

    pt-kategorilerde sıralama sipariş için giriş bu

    <tr class="form-field"> 
    <th scope="row" valign="top"><label for="cat_sort_order"><?php _e('Product Sort Order'); ?></label></th> 
    <td> 
        <input id="banner-url" name="term_meta[sort_order]" type="text" style="width: 100%;" value="<?php echo $term_meta['sort_order'] ? $term_meta['sort_order'] : ''; ?>" /> 
        <span class="description"><?php _e('&nbsp;'); ?></span> 
    </td> 
    

    Tasarruf işlev kategorileri denir İşte bu

    function save_product_categories_custom_fields($term_id) 
        { 
        if (isset($_POST['term_meta'])) { 
         $t_id = $term_id; 
         $term_meta = get_option("taxonomy_term_$t_id"); 
         $cat_keys = array_keys($_POST['term_meta']); 
         foreach ($cat_keys as $key) { 
          if (isset($_POST['term_meta'][$key])) { 
           $term_meta[$key] = $_POST['term_meta'][$key]; 
          } 
         } 
        //save the option array 
         update_option("taxonomy_term_$t_id", $term_meta); 
        } 
    } 
    

    olmasıdır

    function getLatestProducts() { 
    $args = array(
        'post_status' => 'publish', 
        'post_type' => 'products', 
        'posts_per_page' => 12, 
        'meta_key'  => '_cus_sort_order', 
        'orderby'   => 'meta_value_num', 
        'order' => 'ASC' 
    ); 
    ?> 
    <?php 
           $args = array(
           'orderby' => 'name', 
           ); 
           $terms = get_terms('product_categories', $args); 
           foreach($terms as $term) {  
           $prod_meta = get_option("taxonomy_term_".$term->term_id); 
            ?> 
           <a href="<?php echo get_term_link($term->slug, 'product_categories') ?>"> 
           <?php 
            echo '<img src="'.$prod_meta['img'].'" title="" alt=""></a>'; ?> 
           </div> 
           <div class="product-name"> 
           <h5> 
           <a href="<?php echo get_term_link($term->slug, 'product_categories') ?>"> 
           <?php echo $term->name;?> 
           </a> 
           </h5> 
    

    Bu, kategorilerdeki adları ve resimleri gösterir, ancak sıralanmış sırada değil.

  • cevap

    1

    Sen Düzeltilmiş Kod

    function getLatestProducts() { 
        $args = array(
        'post_status' => 'publish', 
        'post_type' => 'products', 
        'posts_per_page' => 12, 
        'meta_key'  => '_cus_sort_order', 
        'orderby'   => 'meta_value_num, name', 
        'order' => 'ASC' 
    ); 
          $terms = get_terms('product_categories', $args); 
          foreach($terms as $term) {  
          $prod_meta = get_option("taxonomy_term_".$term->term_id); 
           ?> 
          <a href="<?php echo get_term_link($term->slug, 'product_categories') ?>"> 
          <?php 
           echo '<img src="'.$prod_meta['img'].'" title="" alt=""></a>'; ?> 
          </div> 
          <div class="product-name"> 
          <h5> 
          <a href="<?php echo get_term_link($term->slug, 'product_categories') ?>"> 
          <?php echo $term->name;?> 
          </a> 
          </h5> 
    

    Ben ana argümanları dizisi sonra denir argüman dizisi kaldırdık

    Aranan Kategorileri Kodunuzdaki bir hata var. Aşağıda belirtilen argüman dizisi yukarıda belirtilen argümanlar dizisini geçersiz kılmaktadır.

    Kaldırılan Argümanlar Dizi

    $args = array(
        'orderby' => 'name', 
    ); 
    

    bu yardımcı olur Umut!

    +0

    i kategoriler arıyorum. –

    +0

    Cevabım çalışıp çalışmadığını denediniz mi? –

    +0

    çalışmıyor. –

    0

    Mehul'un cevabını genişleterek, kaydetme işlevinizde bazı hatalar da vardır.

    Kategorilerinizin önceden kaydedilmiş sıralama düzenlerini kontrol ettiniz mi?

    "taxonomy_term_$t_id""taxonomy_term_" . $t_id olmalıdır. Aksi halde, her şeyi taxonomy_term_$t_id seçenek olarak kaydediyorsunuz ve bir dinamik terim kimliğine sahip değilsiniz.

    function save_product_categories_custom_fields($term_id) 
    { 
    if (isset($_POST['term_meta'])) { 
        $t_id = $term_id; 
        $term_meta = get_option("taxonomy_term_" . $t_id); 
        $cat_keys = array_keys($_POST['term_meta']); 
        foreach ($cat_keys as $key) { 
         if (isset($_POST['term_meta'][$key])) { 
          $term_meta[$key] = $_POST['term_meta'][$key]; 
         } 
        } 
    //save the option array 
        update_option("taxonomy_term_" . $t_id, $term_meta); 
    } 
    

    }

    +0

    kategorilerinde uygulamak istiyorum, o zaman ne değiştirmeliyim efendim –

    +0

    ve eğer bu "taxonomy_term_" değiştirirseniz. $ t_id daha sonra önceki kategorilerim üzerinde herhangi bir etkisi olacak –

    +0

    Bunu kullansaydım yeni kategori eklenmedi. –