Rumah  >  Soal Jawab  >  teks badan

Cara menyekat atribut produk dalam templat pelanggan woocommerce

Saya boleh mendapatkan sifat dengan memilih nama sifat tersuai dalam baris jadual (seperti "Warna", "Saiz", "Berat" dll.) tetapi saya hanya mahu memaparkan 3 baris. Kod kerja saya di bawah tetapi ia menunjukkan semua kod dan saya hanya mahu menunjukkan 3 baris

add_action( 'cw_shop_page_attribute', 'cw_shop_page_attribute', 25 );

function cw_shop_page_attribute() {
global $product;
$display_size = $product->get_attribute('display-size');
$processor = $product->get_attribute('processor-type');
$rearcamera = $product->get_attribute('primary-camera');
$frontcamera = $product->get_attribute('secondary-camera');
$storage = $product->get_attribute('internal-storage-gb');
$m_ram = $product->get_attribute('ram-gb');
$frontcamera = $product->get_attribute('secondary-camera');

if ( $display_size ) {
    echo'<tr class="_plspcdt"><td class="_plspcicon"><i class="fa fa-desktop fa-2x"></i></td><td class="_atrbttl">Display</td>';
    echo'<td class="_atrbvlu">'; printf ($display_size);
    echo'</td></tr>';
   }
if ( $processor ) {
    echo'<tr class="_plspcdt"><td class="_plspcicon"><i class="fa fa-microchip fa-2x"></i></td><td class="_atrbttl">Processor</td>';
    echo'<td class="_atrbvlu">'; printf ($processor);
    echo'</td></tr>';
   }
if ( $rearcamera ) {
    echo'<tr class="_plspcdt"><td class="_plspcicon"><i class="fa fa-camera fa-2x"></i></td><td class="_atrbttl">Rear Camera</td>';
    echo'<td class="_atrbvlu">'; printf ($rearcamera);
    echo'</td></tr>';
   }  
if ( $frontcamera ) {
    echo'<tr class="_plspcdt"><td class="_plspcicon"><i class="fa fa-camera fa-2x"></i></td><td class="_atrbttl">Front Camera</td>';
    echo'<td class="_atrbvlu">'; printf ($frontcamera);
    echo'</td></tr>';
   }

Bagaimana untuk menunjukkan hanya 3 baris daripadanya dan sembunyikan jika kosong

P粉191323236P粉191323236431 hari yang lalu573

membalas semua(1)saya akan balas

  • P粉691958181

    P粉6919581812023-09-08 18:30:36

    get_attribute () mengembalikan rentetan nilai yang dipisahkan koma, jadi anda boleh menggunakan fungsi explode php untuk menggelungkan nilai sebagai tatasusunan dan kemudian keluar selepas mengembalikan 3 hasil.

    Contohnya:

    if ( $display_size ) {
        echo'<tr class="_plspcdt"><td class="_plspcicon"><i class="fa fa-desktop fa-2x"></i></td><td class="_atrbttl">Display</td>';
        $display_size_array = explode( ',', $display_size );
        $count = 0;
        foreach ( $display_size_array as $attribute ) {
            if ( $count >= 3 ) {
                break;
            }
            echo'<td class="_atrbvlu">' . $attribute . '</td';
            $count++;
        }
        echo'></tr>';
    }
    

    balas
    0
  • Batalbalas