• 0

كيف أظهر taxonomy terms باستعمال حلقة تكرار على ووردبريس؟

داخل موقع مبني بووردبريس، لدي صفحة Html بالشكل التالي:

<table>
    <tr>
        <td>Name 1</td>
        <td>Name 2</td>
        <td>Name 3</td>
        <td>Name 4</td>  
    </tr>
    <tr>
    .....
</table>

وأريد إدراج كود php يعمل على جلب taxonomy terms باستعمال حلقة تكرار، بالطريقة التالية:

<?php 
    // no default values. using these as examples
    $i          = 0;
    $taxonomies = array( 'urun-kategorileri' );
    $args       = array(
        'orderby'   => 'menu-order',
        'order'     => 'ASC',
    ); 
    $tax_terms  = get_terms( $taxonomies, $args );

    echo '<table class="table table-hover"><tr>';  

    foreach( $tax_terms as $tax_term ) { {
        $i++;
        if( $i <= 4 ) {
            echo '<td><a href="' . esc_attr( get_term_link( $tax_term, $taxonomy ) ) . '" title="' . sprintf( __( "Profilleri Görüntüle %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name . '</a></td>';
            echo ("\n"); 
        }
        else {       
            echo '</tr><tr>';
            $i = 0;
        }
    } }
?>

</table>

لكن عند وصول الحلقة إلى الرقم 4 لا تظُهر  أي محتوى، فما العمل؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

المشكل هو في المتغير i$ والذي يعتبر في حلقة التكرار هذه بمثابة index والرقم الترتيبي لـ tax_term$.

بعد غلق أداة الشرط else اكتب ++i$، وذلك لإضافة 1 لقيمة i$ عند كل حلقة، ليكون الكود بالشكل التالي:

foreach( $tax_terms as $tax_term ) {
    if( $i <= 4 ) {
        echo '<td><a href="' . esc_attr( get_term_link( $tax_term, $taxonomy ) ) . '" title="' . sprintf( __( "Profilleri Görüntüle %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name . '</a></td>';
        echo ("\n"); 
    } else {       
        echo '</tr><tr>';
        $i = 0;
    }
    $i++;
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن