无法在功能中获取短代码内容

时间:2015-05-12 14:04:10

标签: php wordpress shortcode

我在页面上使用短代码,如

[abc a="b"]test[/abc]

在我的functions.php中

add_shortcode('abc', function($atts, $content) {
    return $atts['a']." : ".$content;
});

在我的模板中某处

<p><?php echo do_shortcode('[abc]') ?></p>

$ atts,$ content总是空的。

默认模板中的所有内容都可以正常工作,但不在我的模板中。

如果有人能告诉我如何在我的自定义模板中使用它,我真的很感激。感谢

2 个答案:

答案 0 :(得分:0)

您应该在自定义页面模板中添加这些代码行,它会自动对KeyUp和其他wpautop

等内容应用过滤器
shortcodes

答案 1 :(得分:-1)

我用过这个:

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
     <?php the_content(); ?>
<?php endwhile; ?>

而不是:

<?php echo do_shortcode('[abc]') ?>

并且有效