Как в worpdress узнать из самого shortcod-а сколько shortcod-ов на странице?
Мне нужно вкладывать данные в объект Window. Если выполнять для всех шорткодов на странице, то выходит очень много данных. Хочу сделать только при выполнении первого shortcod-а и вложить только для него.
Например, есть такой код shortcode:
function my_code_handler($atts)
{
$script = 'window.data = {ДАННЫЕ}';
wp_add_inline_script( 'script_name', $script, 'before' );
}
add_shortcode( 'code', 'my_code_handler' );
Страница Wordpress c шорткодами:
- [code] Как только для этого выполнять
wp_add_inline_script? - [code] А для этого игнорировать.
- [code] И для этого игнорировать.
То есть отдавать только для первого shortcod-а?
Ответы (1 шт):
Автор решения: rusgeli
→ Ссылка
Как вариант создать статическую переменную, по которой вы можете отслеживать какой по счету шорткод встретился.
Например так:
function my_code_handler($atts)
{
static $i = 0;
if ($i == 0) {
$script = 'window.data = {ДАННЫЕ}';
wp_add_inline_script( 'script_name', $script, 'before' );
}
$i++;
}
add_shortcode( 'code', 'my_code_handler' );