我使用php7下最新版本的wordpress,我使用的主题本身就是插件WPBakery页面生成器(基于visual composer)。
我创建了一篇包含以下内容的帖子:
[vc_row el_id="bloc-doc-a-telecharger"]
[vc_column]
[vc_basic_grid post_type="post" max_items="-1" style="pagination" items_per_page="4" element_width="3" arrows_design="vc_arrow-icon-arrow_09_left" arrows_position="outside" arrows_color="white" paging_color="white" item="1234" taxonomies="123"]
[/vc_column]
[/vc_row]
短代码so。大多数时候,我可以复制这种代码并将其集成到php中
do_shortcode(\'[my_short_code\'])
但它在这里不起作用,它向我显示消息“nothing\\u found”。这是
style="pagination"
这会导致错误。
我指定尝试将其集成到文件中category.php
如果我在page.php
这就行了。
SO网友:Entretoize
我最终发现了这个问题,事实上,当您将分页添加到visual composer post grid shortcode时,它将使用ajax加载内容。但是为了与ajax php脚本通信,它使用了post id。问题是,如果您实时创建该短代码,它将没有post id,如果您使用外部post作为模型,它将没有另一个post id。
然后,为了使其正常工作,我首先用我想要的短代码创建一个页面,然后在我的另一个页面中得到如下内容:
$post = get_posts(array( \'name\' => \'my-page-slug\',\'post_type\' => \'page\'))[0];
print do_shortcode($post->post_content);
请注意
$post
这是visual composer使用的全局变量,现在具有正确的post ID。