在JavaScript中枚举快捷码属性

时间:2012-10-17 作者:Jonathan

我正在开发一个插件,它使用一个短代码来调用JQuery函数,需要三个方面才能工作:

JQuery代码+它自己的代码将包含在它将用于的页面上。它将处理的HTML元素需要一个“id”属性,以便在$(document).ready(function()) block我已经实现了1和2;1通过使用wp_register_script 如果出现短代码,wp_print_scripts 打印;2通过将“id”作为我的短代码的属性,它也会返回,例如。[myshortcode id="foo"] 退货id="foo".

问题是3。初始化的形式如下:

$(document).ready(function() 
    { 
        $("#id").func( {attributes} ); 
     } 
 );
我考虑过使用wp_localize_script 在ID的变量上;然而,我不知道该短代码会在给定页面上出现多少次,注册任意数量的其他相同脚本似乎有些草率,只希望不会超过这个数字。

这似乎很常见,但我无法通过搜索找到任何相关内容。有什么想法吗?谢谢

1 个回复
最合适的回答,由SO网友:Mridul Aggarwal 整理而成

对于第二个,我建议使用php函数uniqid(), 承担用户的一些工作。

对于第三个问题,我认为最好的实现方法是在每次对数组中的全局/静态变量进行短码调用之后继续添加id;然后将函数挂接到wp_footer 从这个变量中读取以获取所有id&;生成必要的javascript

对于1st,将其添加到shortcode函数中-

STATIC $flag = false;
if(!$flag) {
    $flag = true;

    // include all your scripts that you want to include in the page only once
    // These statements will be executed once per page load
    // irrespective of how many times shortcode is called.
}

结束