快捷代码在Page.php中工作,但在WordPress中的Category y.php中不起作用

时间:2019-07-04 作者:Entretoize

我使用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 这就行了。

2 个回复
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。

SO网友:Oscprofessionals

在单引号内使用短代码,如下所示:

 do_shortcode(\'[my_short_code]\');

相关推荐

带有自定义字段的PHP警告

看在上帝的份上,有人能帮我吗?我的主题大约在一年前构建,我添加了自定义元框/字段。我创建了许多自定义分类法。但我不想把自定义分类法放在传统的复选框中。我希望它们在选择下拉菜单中作为选项。在我从4.9版更新到5.2版(最新更新)之前,一切都很好。现在,当我尝试添加一个新的列表/帖子时,它不会保存数据并抛出多个PHP警告。首先,我将显示警告,下面是我的代码。****************编辑*****************以下是指向我的Github的链接,其中显示了我正在使用的文件:https://git