通过REST API发送POST数据,如何解析POST_CONTENT中的快捷码?

时间:2016-12-19 作者:apatton.cnet

我正在使用RESTAPI在WordPress之外发布帖子,遇到了一个问题,我的所有短代码都没有得到处理。具体来说,我的大多数插件的短代码都在处理中,但visual composer中的任何内容都没有转换为HTML。我发现,如果我在WordPress站点本身的前端var\\u转储REST API的post数据函数(空白主题,主题字面上是“var\\u dump this function”),VC的短代码就会得到处理。

我不确定我在这里做错了什么,但下面是我的REST API返回代码:

function return_page_single( WP_REST_Request $request ) {
    $page_id = $request->get_param( \'page\' ); 

    $args = array( 
        \'id\' => $page_id,
        \'post_type\' => \'page\',
        \'posts_per_page\' => 1
    );
    $query = new WP_Query( $args );

    if ( $query->have_posts() ) {
        $page = $query->posts;
        $page_content = $page[0]->post_content;
        $page_content = apply_filters( \'the_content\', $page_content );
        $page_content = do_shortcode( $page_content );
        $page[0]->post_content = $page_content;
        $query_return[\'page\'] = $page;
        $query_return[\'query\'] = $query->query;
    }
    wp_reset_postdata();
    return $query_return;
}
如果我转储REST API结果的内容,我会得到VC的短代码,但其他一切都会处理。

如果我在主题中放置以下内容:

var_dump( return_page_single( $request ) ); 
我得到了经过充分处理的帖子内容。

我没有一个实例,因为这是内部开发的,但如果它有助于解决问题,我可能可以设置一些东西。

2 个回复
SO网友:Mte90

我猜Visual Composer没有运行Rest API空间,可能最好联系该插件的支持人员
在任何情况下,您都可以看到是否可以执行用于短代码的visual composer插件的方法并在代码中运行。

SO网友:apatton.cnet

在改变了我的谷歌策略后,我终于找到了答案,将这个添加到我的“get”函数中会触发VC短代码:

if(class_exists(\'WPBMap\') && method_exists(\'WPBMap\', \'addAllMappedShortcodes\')) { 
    WPBMap::addAllMappedShortcodes(); 
}; 

相关推荐

Custom post type shortcode

我创建了一个自定义的帖子类型快捷码作为滑块。我的滑块图像在背景图像中显示为特色图像。但我的幻灯片中没有显示特色图像。这是我的代码:<?php add_shortcode( \'slickslider\', \'slider_shortcodes_post_type\' ); function slider_shortcodes_post_type(){ $args = array( \'post_type\' => \'slid