Comment puis-je mettre un tableau en tant que variable dans shortcode_atts?

4

J'essaie de créer un shortcode avec un tableau en entrée comme si

function product_gallery_shortcode($atts) {

extract(shortcode_atts(array(
            'product_id' => '31',
            'prodvid' => false,
            'youtubeids'=>'',//['lbRqMddP2jo','eFAxx817rC0'],
            'thumbnr' =>2
                ), $atts));

J'aime parcourir en boucle l'identifiant youtube mais je ne sais pas comment initialiser les youtubeids en tant que tableau

ainsi il se lit

    'youtubeids'=> array('lbRrePOP2jo','eFAxx17rC0'),

salutations

    
posée alex 05.03.2013 - 12:41

3 réponses

4

Ok a trouvé une solution

function product_gallery_shortcode($atts) {
extract(shortcode_atts(array(
            'product_id' => '31',
            'prodvid' => false,
            'youtubeids'=> '',
            'thumbnr' =>2
                ), $atts));
etc

et je devais à nouveau transformer youtubeids en tableau

$youtubeidsnew = array();
$youtubeidsnew = explode(',', $youtubeids);
    
réponse donnée alex 05.03.2013 - 13:13
2

J'ai trouvé la meilleure solution à ce problème. Si vous voulez utiliser un tableau pour l’entrée du shortcode, utilisez ceci:

function product_gallery_shortcode($atts) {
    extract(shortcode_atts(array(
                'product_id' => '31',
                'prodvid' => false,
                'youtubeids'=> array(),
                'thumbnr' =>2
                    ), $atts));
    etc 
    $youtubeids = $atts[youtubeids];
    $youtubeids = explode(',', $youtubeids);

Dans votre entrée de code court, vous pouvez utiliser les éléments suivants pour chaque index de tableau:

[myshortcode youtubeids="index0,index2,index3"]
    
réponse donnée morteza mohammadi 19.10.2016 - 18:22
0

Ne pourriez-vous pas simplement faire:

extract(shortcode_atts(array(
            'product_id' => '31',
            'prodvid' => false,
            'youtubeids'=>array('lbRrePOP2jo','eFAxx17rC0'),
            'thumbnr' =>2
        ), $atts));
    
réponse donnée Tom J Nowell 05.03.2013 - 13:07

Lire d'autres questions sur les étiquettes