Rumah > Soal Jawab > teks badan
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粉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>'; }