开机自检中的Meta Slider Lite插件快捷代码无法正常工作

时间:2015-04-10 作者:Therk

我试图在我的Wordpress帖子中实现一个滑块。我用的这个Meta Slider 插件。当我添加了一个滑块后,我应该能够在帖子中使用快捷码([metaslider id=21]). 如果我将此添加到我的一篇帖子中,它会以同样的方式显示在live页面上。我没有看到任何滑块,我的页面上只有一个字符串“[元滑块id=21]”。

我查过了wp_footer();body 标记结束,页脚在每个php文件中实现。

我通过以下方式获取帖子内容:

$args = array(\'posts_per_page\' => 5, \'tag\' => get_the_title());
$wp_query = new WP_Query( $args );
$posts = $wp_query->get_posts();

foreach($posts as $post){
    $id = $post->ID;
    $content = get_post($id);

    echo $content->post_content;
}
它可以完美地获取内容,但不会加载滑块。

谁能告诉我原因吗?

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

您需要运行内容do_shortcode() - 目前,您只是回显原始帖子内容,因此没有任何内容得到解析。

echo do_shortcode( $content->post_content );
但是,您最好实施适当的“loop“并使用the_content() 模板标记-这样做将确保一切正常运行(启动所有典型挂钩和格式过滤器),以适应滑块插件可能依赖的任何怪癖/额外挂钩:

while ( $posts->have_posts() ) {
    $posts->the_post();
    the_content();
}

wp_reset_postdata(); // Restore the global post to the "current" post

结束

相关推荐

Call Shortcode on wp_footer

是否可以在帖子/页面内容区域之外调用快捷码?我试图用以下代码将其添加到wp\\U页脚,但它返回字符串:add_shortcode(\'eps_pop\', \'init\'); function indtable_display_front_end($atts ) { global $post; extract( shortcode_atts( array( \'id\' => \'\' ), $atts ) );&#x