仅在某些页面上加载的AJAX导航和脚本

时间:2013-11-25 作者:Alvaro

我正在构建一个主题。主题帖子导航是通过jQuery Ajax完成的。我已经使用了几个插件来查看兼容性,但我对Ajax的功能性有一个问题。

一些插件(如Jetpack)会根据帖子内容加载某些脚本。例如,Page1没有具有VideoPress功能的帖子,而Page2有。然后将在第2页加载所需的脚本only. 我遇到了一个问题,因为用户可能会转到第1页,然后第2页的帖子将通过Ajax加载,视频帖子(来自第2页)将中断,因为第一页上没有加载脚本。

有没有办法解决这个问题?我不知道该怎么做。

1 个回复
SO网友:webaware

如果插件很好register 他们所有的剧本都是预先准备好的enqueue 如果需要,您应该能够将所有这些文件排队以随时加载。找出他们注册的句柄并将其排队。

add_action(\'wp_enqueue_script\', function() {
    wp_enqueue_script(\'example-handle\');
    wp_enqueue_script(\'another-example-handle\');
}, 20);
然而,一些插件通过wp_enqueue_script() 即使在有条件地加载它们时也会起作用。对于这些脚本,您需要复制这些enqueue语句并修改脚本的路径,以便正确加载它们。

add_action(\'wp_enqueue_script\', function() {
    $url = plugins_url(\'js/example.js\', \'example-plugin/x\');
    wp_enqueue_script(\'example-handle\', $url /* and any other params they had */);
}, 20);

结束

相关推荐

AJAX回调中的DO_SHORT代码

我的内部有一个AJAX回调函数functions.php 文件,其中显示特定类别中的帖子。add_action( \'wp_ajax_ajaxified_function\', \'ajaxified_function\' ); add_action( \'wp_ajax_nopriv_ajaxified_function\', \'ajaxified_function\' ); function ajaxified_function() { $post = g