【发布时间】:2018-03-25 11:00:33
【问题描述】:
我需要使用 jQuery / Ajax / PHP 按需加载 WordpPress 插件短代码,仅在我们按下按钮时。这是我尝试过的:
1) 我有一个带有按钮和 DIV 的 HTML 代码:
<a href="#" class="LoadBtn">Load Gallery Plugin</a>
<div id="PhotoGrid">Plugin shortcode should be loaded here</div>
2) 当我按下按钮时,以下 jQuery 代码运行。这与 PHP 文件通信并尝试将短代码“插入”到 DIV:
$(function() {
$('.LoadBtn').on('click', function() {
var url = "http://localhost:8888/studio/ajax.php";
$.post(url, function(data) {
$("#PhotoGrid").html(data).show();
});
});
});
3) PHP 代码:
echo do_shortcode('[wonderplugin_gridgallery id=1]');
但我遇到了错误。 在 jQuery 代码中,有一个 html(data) 字符串。也许这就是问题所在,因为短代码不是 hmtl 而是完整的插件代码?我是 PHP 新手,写什么,怎么写?
我在控制台中收到的错误消息:
- 发送@jquery.js?ver=1.11.3:5
- 发送@jquery.js?ver=1.11.3:5
- ajax@jquery.js?ver=1.11.3:5
- m.(匿名函数)@jquery.js?ver=1.11.3:5
- (匿名)@my-custom.js
- dispatch @jquery.js?ver=1.11.3:4
- r.handle@jquery.js?ver=1.11.3:4
【问题讨论】:
-
确认一下,PHP 代码取自插件开发者的网站。
-
您需要了解服务器端和客户端代码之间的区别。只能通过重新加载加载PHP插件,或者让服务器单独生成侧面的部分
-
那么我想要实现的目标是不可能的?我只想在用户请求时才加载到图库中 - 以加快页面速度。
-
你能在没有任何其他 HTML 代码的情况下自行生成图库吗?
-
用一个简单的短代码是的。如果我把它放在页面上的任何地方,它将被加载到:[wonderplugin_gridgallery id=1]
标签: javascript php jquery ajax wordpress