将jQuery Prepend()与文件包含一起使用

时间:2011-09-20 作者:Norcross

我正在开发一个插件,它将在<body> 标记到站点。由于这将用于多个主题,我不能依赖一些主题/框架提供的各种挂钩。

我知道我可以使用prepend() 函数来包含原始标记,但我似乎找不到一种可靠的方法来包含。改为php文件。

2 个回复
SO网友:Milo

您必须先解析文件中的php,然后才能对其进行附加,因此您要么通过AJAX获取它,要么使用wp_localize_script 而是通过JavaScript传递一些数据并构建标记。您可能会从浏览器中获得不可预测的行为,因为body标记之外的标记违反了W3C规范,并且无效。我真的不知道这比仅仅使用wp_footer(), 除了支持一些编码糟糕的主题之外。

SO网友:onetrickpony

如果主题遵循WP的主题编码“标准”,wp_footer 应该就在</body>. 但许多主题都没有,有些人称之为#footer div内的钩子或其他什么。实际上,我自己也在用我的一些主题来做这件事,因为我不得不适应那些在其中插入文本或其他视觉元素的愚蠢插件wp_footer. 从技术上讲,你的符合描述,但我指的是那些显示信用、版权信息之类的东西:)

即便如此,这对插件来说也不应该是个问题,除非包含wp_footer 输出具有相对位置。在这种情况下,您可以:

包括。php文件通常在wp\\U页脚操作中,默认情况下隐藏标记(设置display:none 使用jQuery查找HTML的容器,并将其前置到</body>, 然后显示它,例如:

$(\'#my-plugin-bar\').prependTo(\'body\').show();

和设置top:18px 如果$(\'#wp-admin-bar).length > 0

无需发出ajax请求即可完成此操作,也无需使用jQuery构建标记。。。

结束

相关推荐

Enqueuing jQuery in plug-ins

我想在插件中使用jQuery。在函数中。我使用的主题的php,我发现:if(!is_admin()) { wp_deregister_script(\'jquery\'); wp_register_script(\'jquery\', \'http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js\'); 据我所知,这将加载jQuery,我已经准备好了。我所要做的就是将此添加到插件