PHP WordPress optimization my loop code

I’m just learning PHP, and I’m using get_terms to get some text descriptions from the CMS, but i want to assign 3 variables to only 3 of my woocommerce tags.
My code works well, but I just want to learn if there’s a better way to filter by $tag_descrip->name than using if conditions.

This is my code:

Read More
<?php
$tag_descrip = get_terms( 'product_tag', 'orderby=count&hide_empty=0' );
$count = count($tag_descrip);


if ( $count > 0 ){

 foreach ( $tag_descrip as $tag_descrip ) {

 if($tag_descrip->name == "parfum_bestof")
   {$title_new1 = $tag_descrip->description ;}

 if($tag_descrip->name == "tshirt_bestof")
   {$title_new2 = $tag_descrip->description ;}

 if($tag_descrip->name == "child_bestof")
   {$title_new3 = $tag_descrip->description ;}



 }



}

?> 

Thanks

Related posts

Leave a Reply

1 comment

  1. Hi there is not better option, but to speed it up little you can use wordpress transient, see documentation: http://codex.wordpress.org/Transients_API

    your code would look like this (and i cleaned it bit and used function empty to check array…):

    <?php
    
    if ( false === ( $tag_descrip = get_transient( 'tag_descrip' ) ) ) {
    
         $tag_descrip = get_terms( 'product_tag', 'orderby=count&hide_empty=0' );
    
         set_transient( 'tag_descrip ', $tag_descrip );
    }
    
    
    if ( !empty($tag_descrip) ){
    
     foreach ( $tag_descrip as $tag_descrip ) {
    
     if($tag_descrip->name == "parfum_bestof")
       $title_new1 = $tag_descrip->description;
    
     if($tag_descrip->name == "tshirt_bestof")
       $title_new2 = $tag_descrip->description;
    
     if($tag_descrip->name == "child_bestof")
       $title_new3 = $tag_descrip->description;
    
    }
    
    
    }
    
    ?>