You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WordPress Post Media数据:移除指定文本内容技术求助

解决WordPress文章元数据移除指定内容的方案

看起来你已经搞定了作者和分类的移除,接下来处理「By」文本、作者名前后的括号以及日期后的括号,我给你几个靠谱的方案:

1. 优先用主题自定义选项(最省心)

很多主流WordPress主题(比如Astra、GeneratePress、OceanWP)都自带元数据自定义功能,不用写代码就能搞定:

  • 进入后台「外观」→「自定义」
  • 找到「博客」或「文章」相关的设置面板(不同主题位置略有不同)
  • 找到「文章元数据」选项,在这里你可以:
    • 直接关闭「显示作者前缀(By)」的开关
    • 调整日期、作者的显示格式,去掉不需要的括号

如果你的主题有这个功能,这是最快的解决方式,不用碰代码。

2. 用代码片段从源头上修改(更灵活)

如果主题没有自定义选项,推荐用代码片段来过滤元数据输出,这样不会因为主题更新丢失修改(记得用子主题或者「Code Snippets」插件来添加代码,别直接改父主题的functions.php):

移除「By」文本和作者名的括号

// 过滤作者链接,移除"By"前缀和括号
add_filter( 'the_author_posts_link', 'clean_up_author_meta' );
function clean_up_author_meta( $author_link ) {
    // 移除"By "前缀(注意空格,根据你实际的文本调整)
    $author_link = str_replace( 'By ', '', $author_link );
    // 移除包裹作者名的括号(假设格式是"(作者名)")
    $author_link = preg_replace( '/\((.*?)\)/', '$1', $author_link );
    return $author_link;
}

移除日期后的括号

// 过滤日期输出,移除前后的括号
add_filter( 'get_the_date', 'clean_up_date_meta' );
function clean_up_date_meta( $date ) {
    // 移除日期前后的括号(不管是"(日期)"还是"日期)"都能处理)
    $date = trim( $date, '()' );
    return $date;
}

如果你的主题元数据格式和示例不一样,比如括号位置不同,可以调整代码里的str_replace或正则表达式。比如先查看主题模板里的元数据输出代码(比如single.phpcontent.php),确认具体的格式再修改。

3. 临时用CSS隐藏(不推荐,只是视觉隐藏)

如果你只是想快速视觉上隐藏这些内容,也可以用CSS(但这不是真正的移除,搜索引擎还是能看到):

/* 隐藏"By"文本 */
.entry-meta .byline span:first-child {
    display: none;
}
/* 移除作者名的括号 */
.entry-meta .author:before,
.entry-meta .author:after {
    content: "" !important;
}
/* 移除日期后的括号 */
.entry-meta .date:after {
    content: "" !important;
}

把这段CSS添加到「外观」→「自定义」→「额外CSS」里,注意选择器要和你主题的类名对应,可能需要调整.entry-meta.byline这些类名。

内容的提问来源于stack exchange,提问作者Anrich Vigus

火山引擎 最新活动