如何在档案页面摘录中以短码形式获取_POST_META 时间:2015-03-30 作者:mistertaylor 我有一个短代码[foo],它在自定义字段中显示值。然而,由于它出现在每篇文章的顶部,因此它包含在摘录中。function foo_shortcode(){ global $post; $foo = get_post_meta( $post->ID, \'foo\', true ); return $foo; } add_shortcode( \'foo\', \'foo_shortcode\' ); 短代码可以在单个帖子上成功运行,但不能在存档上运行。我错过了什么? 1 个回复 SO网友:s_ha_dum 这个do_shortcode 函数在上运行the_content 挂钩:402 403 add_filter(\'the_content\', \'do_shortcode\', 11); // AFTER wpautop() https://core.trac.wordpress.org/browser/tags/4.1.1/src/wp-includes/shortcodes.php#L403因此,在没有看到主题代码的情况下,我猜主题的归档页面是这样编写的do_shortcode 函数不启动--可能是因为它使用the_excerpt 而不是the_content. 如果是这种情况,可以使用以下命令强制处理短代码:add_filter(\'the_excerpt\', \'do_shortcode\'); 但是,您需要注意这一点,因为某些短代码可能会生成您不希望在摘录中看到的内容。 结束 文章导航