Comment restreindre les attributs du produit dans le modèle client woocommerce
P粉191323236
P粉191323236 2023-09-07 19:42:32
0
1
597

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粉191323236
P粉191323236

répondre à tous(1)
P粉691958181

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>';
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal