根据您的评论:
当然,我可以试着用你描述的术语来解释。“我的主题”在每个帖子的底部显示“特色帖子”部分。它通过一个主题文件来实现:related_posts.php
. 在其中,它显示了一些帖子的作者,每次使用the_author()
. 我想返回一个空白字符串the_authoer()
在每种情况下。这有意义吗?
您可以使用普通模板标记来实现这一点。我们可以按照以下逻辑实现它:
如果我们正在查看单个帖子如果the_author()
功能正在用于当前单个职位以外的任何其他职位这可能会起作用,因为当前主要帖子的作者不太可能显示在页面上的任何其他地方,因为根据定义,相关帖子不可能是当前帖子。
我们之所以能这样做是因为get_the_ID()
将返回其作者正在显示的帖子的帖子ID,而get_queried_object_id()
将获取正在显示的完整帖子的ID,无论我们在哪里使用它。所以我们只需要比较一下:
add_filter(
\'the_author\',
function( $author ) {
// We only want our filter to affect single post views.
if ( is_single() ) {
// If the author is being displayed for any post other than the current post.
if ( get_the_ID() !== get_queried_object_id() ) {
$author = \'\';
}
}
return $author
}
);
不过,您需要考虑的一件事是,如果主题在作者名称周围输出标记,那么仍然会输出标记。唯一的删除方法是修改模板。