检测Visual Composer

Cre*_*ded 8 php wordpress wordpress-plugin

有没有办法检测WordPress页面是否使用Visual Composer?

我有2个不同的页面模板:

  1. 常规页面的默认模板.
  2. 视觉作曲家页面的模板.

我希望有一种方法可以检测用户是否使用可视化合成器来构建页面,而不是依赖于用户每次都选择可视化作曲家模板.

有没有办法检测正在构建的页面,然后根据它分配模板?

Пав*_*нов 9

实际上_wpb_vc_js_status因为4.8不正确,因为它已经不再使用了.检查页面是否使用可视化合成器的最简单方法 - 检查vc_row内容中的短代码.

$post = get_post();
if ( $post && preg_match( '/vc_row/', $post->post_content ) ) {
    // Visual composer works on current page/post
}
Run Code Online (Sandbox Code Playgroud)


Mat*_*ley 8

是的,您可以检测是否为帖子启用了可视化作曲家.它存储在_wpb_vc_js_statuspost meta属性中.

$vc_enabled = get_post_meta($post_id, '_wpb_vc_js_status', true);
Run Code Online (Sandbox Code Playgroud)

请注意,即使当前未启用可视化编辑器编辑,帖子仍可包含可视化编辑器短代码.例如,如果我使用可视化合成器设置页面然后恢复为普通编辑器,则为_wpb_vc_js_statusfalse.