Hoi,

Ik ben bezig met een webshop, dit doe ik met Wordpress en WooCommerce.
Bij onze korte beschrijving (post_excerpt) willen we een list hebben.
Al onze producten (ca 3500) staan in een csv bestand waarbij de list items ook vermeld staan.
In de csv staan de items gescheiden met een komma, het idee is om die string te pakken en bij elke komma een nieuwe li te maken.

Ik dacht dat een foreach loop daar goed bij zou passen maar helaas werkt de code die ik heb niet. Deze heb ik na wat zoekwerk gevonden. Hieronder de code zoals die nu is.

Is er iemand die weet wat ik fout doe of die een betere oplossing heeft voor onze wens?


<?php
if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly.
}

global $post;

$short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );

if ( ! $short_description ) {
	return;
}

?>

<?php $words = str_getcsv(',', $short_description); ?>

<div class="woocommerce-product-details__short-description">
	
	<?php 
    
        if(!empty($words)){
            echo '<ul>';
            foreach($words as $word){
                echo '<li>'.htmlspecialcharacters($word).'</li>';
            }
            echo '</ul>';
        }
    
    ?>
</div>
>> Ik heb nu op elk element een p toegevoegd

Dat lijkt me niet echt wenselijk.

Zet dit (om even te testen) eens onder global $post;

remove_filter ('the_excerpt', 'wpautop');
Die had ik al geprobeerd, maar dan verdwijnt de tag alsnog niet.
Ik had ook al een andere filter geprobeerd, dan verdwijnt te tag wel op andere pagina's.
Probeer nog eens dit:

in plaats van dit

$short_description = apply_filters( 'woocommerce_short_description', $post->post_excerpt );

dit

$short_description = $post->post_excerpt;
Nu zijn de p tags weg, precies zoals het moet!
Enorm bedankt!
Toppie! :-)

Reageren