Статический счетчик для короткого кода работает слишком много раз

У меня есть короткий код, который можно использовать несколько раз на странице. Каждый раз он должен создавать div с собственным уникальным идентификатором. Я видел, что люди рекомендуют использовать статическую переменную, поэтому я ее реализовал следующим образом:

class MyClass { function __construct() { add_shortcode('my-shortcode', array($this, 'register_a_shortcode')); } function register_a_shortcode($atts, $content=null) { static $counter = 0; $counter++; return '<div id="my-id-'.$counter.'">'.do_shortcode($content).'</div>; } } 

Я заметил, что счетчик не начинается с 1, как я установил (0 + 1 – первый запуск), но это может начинаться с 3 или 4 или даже 7. Это может зависеть от количества раз, когда у меня есть короткий код на почте. У меня есть в 3 раза 7,8,9.

Моя единственная мысль в тот момент, что, возможно, другие короткие коды или плагины запускают сам короткий код, и именно поэтому он отображается на html как более высокие числа. Я использую плагин перенаправления, а также плагин кэша, который может это сделать.

Есть идеи? Может быть, я должен использовать другой механизм для создания уникальных идентификаторов?

Благодаря!

Solutions Collecting From Web of "Статический счетчик для короткого кода работает слишком много раз"