Maison > Questions et réponses > le corps du texte
Je peux obtenir des propriétés en sélectionnant des noms de propriétés personnalisées dans les lignes du tableau (comme "Couleur", "Taille", "Poids", etc.) mais je souhaite uniquement afficher 3 lignes. Mon code de travail est ci-dessous mais il montre tout le code et je veux seulement afficher 3 lignes
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>'; }
Comment afficher seulement 3 lignes et masquer si vide
P粉6919581812023-09-08 18:30:36
get_attribute () renvoie une chaîne de valeurs séparées par des virgules, vous pouvez donc utiliser la fonction d'explosion de php pour parcourir les valeurs sous forme de tableau, puis quitter après avoir renvoyé 3 résultats.
Par exemple :
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>'; }