web-dev-qa-db-ja.com

複数のショートコード属性値を取得する

私はショートコードからいくつかの値を取得しようとしています。私は成功せずにいくつかのことを試みました。

ショートコードは次のようになります。

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

Field_keyの値はどうやって取得するのですか?それでは、この場合key1、key2、key3はどうでしょうか。

3
Trekdrop

すべてを1つの属性、または1つのショートコードにさえも入れようとしないでください。あなたがしなければならない文字列解析はますます複雑になるでしょう。これを試して:

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

これとともに:

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

そして、それぞれの場合にショートコードを作成してください。

2
s_ha_dum