这是正确的行为,如果你的附件中没有任何内容post_content
字段(这很常见)。
当以后期为中心的模板运行时,prepend_attachment()
用作“模拟”帖子内容的过滤器。附件的“预期”模板并非如此。
如果你看template-loader.php
:
elseif ( is_attachment() && $template = get_attachment_template() ) :
remove_filter(\'the_content\', \'prepend_attachment\');
过滤器已显式删除。
因此,不会为您生成“虚假”内容。您必须决定并在代码中表达您实际想要为附件显示什么,或者如果您想要的是过滤器,则只需添加回过滤器。