¿Cómo puedo poner una matriz como variable en shortcode_atts?

4

Estoy intentando crear un código abreviado con una matriz como entrada como tal

function product_gallery_shortcode($atts) {

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

Me gusta recorrer los ID de YouTube, pero no sé cómo inicializar los YouTube como una matriz

por lo que se lee

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

saludos

    
pregunta alex 05.03.2013 - 12:41

3 respuestas

4

Ok encontré una solución

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

y tuve que convertir youtubeids en una matriz de nuevo

$youtubeidsnew = array();
$youtubeidsnew = explode(',', $youtubeids);
    
respondido por el alex 05.03.2013 - 13:13
2

Encontré la mejor solución para este problema. Si desea utilizar la matriz para la entrada de código abreviado, use esto:

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);

En la entrada de tu código corto puedes usar lo siguiente para cada índice de matriz:

[myshortcode youtubeids="index0,index2,index3"]
    
respondido por el morteza mohammadi 19.10.2016 - 18:22
0

¿No podrías simplemente hacer:

extract(shortcode_atts(array(
            'product_id' => '31',
            'prodvid' => false,
            'youtubeids'=>array('lbRrePOP2jo','eFAxx17rC0'),
            'thumbnr' =>2
        ), $atts));
    
respondido por el Tom J Nowell 05.03.2013 - 13:07

Lea otras preguntas en las etiquetas