recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment restreindre les attributs du produit dans le modèle client woocommerce

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粉191323236P粉191323236449 Il y a quelques jours590

répondre à tous(1)je répondrai

  • P粉691958181

    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>';
    }
    

    répondre
    0
  • Annulerrépondre