WordPress短代码在页面上多次使用时的唯一ID?

时间:2014-11-06 15:05:04

标签: javascript php wordpress shortcode

我正在编写一个WordPress短代码,它涉及一些jquery。为了使jquery正常工作,我需要使用具有唯一#ID的div。如果短代码使用一次,它工作正常,但如果他们在页面上不止一次使用短代码,它将破坏javascript。

所以,我想知道每次调用短代码时是否有某种方法可以使用唯一的ID?或者如果在页面上多次使用短代码,可以使用某种方式获得不同的ID?

假设我有短码功能

function my_shortcode() { 
 $my_shortcode='<div id="demo">My content</div>'; 
 return $my_shortcode;
} //end function 

和jquery

 $("#demo").click(function{

    autoplay: true,
});

3 个答案:

答案 0 :(得分:4)

您可以使用静态变量

static $i = 1;
$i++;

并将其用作ID

的一部分
return "<div id='shortcode-div-{$i}'></div>";

答案 1 :(得分:1)

您使用其他参数free to set短信代码:

[gallery id="123" size="medium"]

答案 2 :(得分:0)

我建议使用UUID。

在我的项目中,我将其生成并附加到$atts元素中。

add_shortcode('some_shortcode', function ($atts, $content = null) {
  ...

  $atts['uuid'] = uniqid();
  ...

  return 'I have a unique ID: ' . $atts['uuid'];
}

这可以轻松地附加到数据属性,例如

return echo '
  <div data-group-uuid="' . $atts['uuid'] . '">
    I'm a container with a unique ID
  </div>
';