web-dev-qa-db-fra.com

Obtenir plusieurs valeurs d'attribut de shortcode

J'essaie d'obtenir plusieurs valeurs d'un shortcode. J'ai essayé plusieurs choses sans succès.

Le shortcode ressemble à ceci:

[myshortcode metakey="<field_key:key1, title:Title 1><field_key:key2, title:Title 2><field_key:key3, title:Title 3> ]

Comment pourrais-je obtenir les valeurs de field_key? Donc dans ce cas, key1, key2 et key3?

3
Trekdrop

N'essayez pas de tout placer dans un seul attribut, ni même un seul shortcode. L'analyse de chaîne que vous devez faire va devenir de plus en plus compliquée. Essaye ça:

function myshortcode_cb( $atts ) {
  $atts = shortcode_atts( 
    array(
      'cat' => '',
      'title' => ''
    ), 
    $atts
  );
  //   var_dump($atts); // debug
  return "{$atts['cat']} :: {$atts['title']}";
}
add_shortcode('myshortcode','myshortcode_cb');

Avec ça:

[myshortcode cat="key1" title="Title 1" /]

Et créez un shortcode pour chaque cas.

2
s_ha_dum