2016-11-14 27 views
5

Sorularımla ilgili tüm forumları ve forumları araştırıyorum, ancak doğru sonuçları üretemiyorum. Temel olarak, yalnızca belirli bir ürün kategorisi için terimleri veya ürün özelliklerini göstermeye çalışıyorum.Belirli bir ürün kategorisinin şartlarını ya da ürün özelliklerini görüntüleyin (woocommerce)

İşte üzerinde çalıştığım kod.

<fieldset class="liquor-types-control filter-controls" > 

    <?php 

    $terms = get_terms('wine', /*<--Product Category */ 'pa_liquor-types' /* <--Product Attribute */); 
    foreach ($terms as $term) : 
    ?> 

    <label> 
     <input type="checkbox" value="<?php echo "." . $term->slug ?>" /> 
     <?php echo $term->name ?> 
    </label> 

    <?php endforeach; ?> 


</fieldset> 


(
    [errors] => Array 
     (
      [invalid_taxonomy] => Array 
       (
        [0] => Invalid taxonomy. 
       ) 

     ) 

    [error_data] => Array 
     (
     ) 
) 
+0

Bir "var_dump ($ terms)" bilgisini paylaşabildiğiniz için verilerin biçimini görebiliriz? Ayrıca, hangi çıktıyı elde ediyorsunuz? Herhangi bir hata? Error_reporting (E_ALL) ayarladığınızdan emin olun; – mseifert

+0

Benim sorum ek bilgilerim ile güncellendi – clestcruz

cevap

3

Kullanım; $ term-> slug ve $ term-> name. Böyle

<label> 
     <input type="checkbox" value="<?php echo $term->slug; ?>" /> 
     <?php echo $term->name; ?> 
    </label> 
+0

Bunun işe yarayacağını düşünmüyorum – clestcruz

+0

Lütfen kodunuzu kontrol edin, kodunuz yanlış. İfadeyle sona ermeli; ve neden sülük?>. Bu doğru değil. –

+0

Ve ayrıca get_terms ('şarap'); yeterlidir. –

3

deneyin şey:

<?php 
$terms = get_terms('wine', 'pa_liquor-types'); 

foreach($terms as $term) { ?> 
    <input type="checkbox" value="<?php echo "." . $term['slug'];?>"/> 
    <?php echo $term['name'];?> 
<?php } ?> 
4

var_dump WordPress üzerinde taksonomilerin kullandığınızı gösteriyor. Ben Wordpress ile doğrudan deneyimi yok iken, the Wordpress site docs ki:

4.5.0 beri:

önce 4.5.0 için, get_terms ilk parametresi() bir sınıflandırma veya taksonomilerin liste oldu , taksonomilerin $ args dizisindeki 'taksonomisinde' argümanı aracılığıyla iletilmelidir:

From the function reference:

$term = get_term($term_id, $taxonomy); 
ör .: dönem sülük-örnek

$slug = $term->slug; 

Kim terimi adını verir:

0 Kim terimi sümüklü verir ör Terim Adı Örnek

$name = $term->name; 

Önce doğru sürümünü kullandığınızdan emin olun - Eğer önceden 4.5.0

İkinci gelen sözdizimi kullanan, hata taksonomisi pa_liquor-types geçersiz olduğunu söylüyor. Bunun nerede tanımlandığını kontrol etmelisin.

create_initial_taxonomies() işlevinizin sözdizimini kontrol edin ve gerekirse gönderin.

0

Şarap ve likör türlerini ayrı ayrı ele alın, bunları tek sıralı $ terimleriyle birleştirin ve tüm terimleri elde etmek için bu dizide dolaşın. Umarım yardımcı olur, henüz kodu test etmediniz.

<fieldset class="liquor-types-control filter-controls" > 

    <?php 
    global $post; 
    $terms_wine = get_the_terms(get_the_ID(),'wine'); 
    $terms_liquor = get_the_terms(get_the_ID,'pa_liquor-types'); 
    $terms = array(); 
    foreach($terms_wine as $wine){ 
     array_push($terms,$wind); 
     } 
    foreach($terms_liquor as $liquor){ 
     array_push($terms,$liquor); 
     } 


    foreach ($terms as $term) : 
    ?> 

    <label> 
     <input type="checkbox" value="<?php echo "." . $term->slug ?>" /> 
     <?php echo $term->name ?> 
    </label> 

    <?php endforeach; ?> 


</fieldset> 
+0

numaranız var mı? Aksini belirtmek istemediğiniz bir ürün olup olmadığını belirtin. ürün kimliğine göre yayınlayın. – Yamu

İlgili konular