在以前的代码中,我们仅仅使用add_shortcode函数来把短代码注册到wordpress中,在文章页使用the_content来显示文章内容,这样短代码就能显示成为我们想要的效果。但是,正如前文所述,这种方法失效了,用the_content来使短代码生效的愿望破灭,不过我们可以对此进行修改,以此再让它生效。用下面的代码替换你原来主题中的the_content();
$content = apply_filters( 'the_content',get_the_content());
echo do_shortcode( $content );
这段代码即可让短代码生效,原理也很简单,先通过apply_filter让文章的内容格式化,这个效果跟the_content的效果基本相同,只不过以字符串的形式返还,再通过do_shortcode使得$content中的短代码也生效,这样就可以实现我们想要的效果。