带有do_action短代码的Visual Composer Grid无法正常工作

问题描述 投票:7回答:3

我有视觉作曲家,其中包含全部主题。当我在编辑器的页面中放入以下网格短代码时,它可以正常工作。

[vc_basic_grid post_type =“post_type”max_items =“10”item =“masonryGrid_SlideFromLeft”grid_id =“vc_gid:1458178666639-80ebf3775500c87d35de078c3422fe96-10”taxonomies =“555”]

但是,当我使用do_action调用完全相同的代码时,它会出现以下javascript错误。我检查了html输出,使用do_action就像将短代码放在编辑器中一样。

错误:语法错误,无法识别的表达式:{'status':'Nothing found'} s

任何帮助是极大的赞赏。

wordpress wordpress-plugin
3个回答
5
投票

好吧,你不能通过使用VC的核心短代码直接在模板中输出内容。

1.问题:

为了安全起见,除了现时,VC使用page_idshortcode_id来检查AJAX请求/响应数据。

shortcode_id由VC自动生成,您无法对其进行编码。

例如,这是您在管理编辑器屏幕上看到的短代码:

[vc_basic_grid post_type="post_type" max_items="10" item="masonryGrid_SlideFromLeft" grid_id="vc_gid:1458178666639-80ebf3775500c87d35de078c3422fe96-10" taxonomies="555"]

假设页面ID是4269,这是前端生成的HTML代码:

<!-- vc_grid start -->
<div class="vc_grid-container-wrapper vc_clearfix">
    <div class="vc_grid-container vc_clearfix wpb_content_element vc_masonry_grid" data-initial-loading-animation="zoomIn" data-vc-grid-settings="{"page_id":4269,"style":"all-masonry","action":"vc_get_vc_grid_data","shortcode_id":"1458178666639-80ebf3775500c87d35de078c3422fe96-10","tag":"vc_masonry_grid"}" data-vc-request="http://example.com/wp-admin/admin-ajax.php" data-vc-post-id="4269" data-vc-public-nonce="0641473b09">
    </div>
</div>
<!-- vc_grid end -->

现在,如果page_idshortcode_id彼此不匹配,{'status':'Nothing found - $shorcode_id'}将被抛弃,并且不会显示任何内容。

你可以在vc_grid.min.js文件中找到更多。

2.解决方案:

  • 使用VC生成虚假页面,然后将生成的html代码复制到模板文件中。
  • Create a template直接与VC合作。
  • 使用qazxsw poi创建自己的短代码。

1
投票

首先,您构建一个新页面并在其上添加一个网格帖子,然后我们得到

_vc_post_settings

post meta,并尝试构建一个新的,然后更新post meta数据现在我们可以通过VC Ajax安全检查以下代码“1513628284966-37b8c3ca-d8ec-1”是VC生成的guid你应该把它改成你的。

Shorcode Mapper

-2
投票

您也可以尝试使用do_shortcode('');

喜欢

do_shortcode('[vc_basic_grid post_type =“post_type”max_items =“10”item =“masonryGrid_SlideFromLeft”grid_id =“vc_gid:1458178666639-80ebf3775500c87d35de078c3422fe96-10”taxonomies =“555”]');

最好的祝福,

© www.soinside.com 2019 - 2024. All rights reserved.