在每页上加载Visual Composer(AJAX设置)

时间:2015-12-03 19:37:23

标签: javascript php ajax wordpress wordpress-plugin

我正在使用自定义WordPress主题,该主题使用AJAX加载页面。您可以想象,这可以创建一个实例,其中网站加载到不使用Visual Composer(VC)的页面,然后部分加载另一个执行VC的页面,因为就绪加载不需要资源。

到目前为止,我所考虑的唯一解决方案是在每个页面上使用VC(对于帖子和自定义帖子类型不起作用)或向页脚添加VC页面(未经测试)。

我深入研究了插件代码,发现wp_enqueue_script()在许多文件中被调用,这些文件看起来是根据需要调用正确的扩展/附加组件的逻辑,非常有意义。

我虽然可以使用PHP来解决这个问题,只需要调用VC的核心要求,因为不会使用任何画廊或任何特殊的东西。

有谁知道如何强制VC将资源加载到每个页面或有任何使用经验?谢谢!

2 个答案:

答案 0 :(得分:7)

根据你的说法,我意识到需要这样做:

wp_enqueue_script( 'wpb_composer_front_js' );
wp_enqueue_style( 'js_composer_front' );
wp_enqueue_style( 'js_composer_custom_css' );

所以我最终在我的模板中的functions.php中添加了类似的内容:

add_action( 'wp_enqueue_scripts', 'add_theme_stylesheet' );

function add_theme_stylesheet() {
    wp_enqueue_script( 'wpb_composer_front_js' );
    wp_enqueue_style( 'js_composer_front' );
    wp_enqueue_style( 'js_composer_custom_css' );
}

答案 1 :(得分:2)

WPbakery(VC的作者)explained how to do this

你必须在主题的函数文件中调用一堆VC函数,但不能绝对肯定地说。

我没有尝试过这种方法(我正在使用上面的Mark Aroni方法,因为我不需要每个页面上的所有VC内容,只需要CSS / JS),但这就是他们所说的...

vc_twitterBehaviour();
vc_toggleBehaviour();
vc_tabsBehaviour();
vc_accordionBehaviour();
vc_teaserGrid();
vc_carouselBehaviour();
vc_slidersBehaviour();
vc_prettyPhoto();
vc_googleplus();
vc_pinterest();