You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自定义文章类型中设置仅显示指定的文章格式?

自定义文章类型限制显示指定文章格式的方法

嘿,这个需求我之前帮客户处理过,其实只需要两步就能轻松实现:

1. 保留基础的文章格式支持配置

你当前在自定义文章类型注册代码里设置的'supports' => array('title','author','post-formats')是正确的基础配置,先保留它——这一步是让你的自定义文章类型具备启用文章格式的能力。

2. 添加过滤器限制可用格式

默认情况下,开启文章格式支持后,WordPress会显示主题所有已启用的文章格式。要只显示你指定的link、audio、video,需要添加一个过滤器,针对你的自定义文章类型过滤掉不需要的格式。

把下面的代码加到你的主题functions.php文件或者自定义插件里:

function restrict_my_cpt_post_formats($available_formats) {
    // 获取当前后台页面的信息
    $current_screen = get_current_screen();
    
    // 检查当前编辑的是你的自定义文章类型(把'my_cpt'改成你的CPT实际slug)
    if ($current_screen && $current_screen->post_type === 'my_cpt') {
        // 返回你想要显示的文章格式数组
        return array('link', 'audio', 'video');
    }
    
    // 其他文章类型保持默认可用格式
    return $available_formats;
}
add_filter('post_formats', 'restrict_my_cpt_post_formats');

关键提醒:

  • 一定要把代码里的my_cpt替换成你实际注册自定义文章类型时用的slug(就是register_post_type()函数第一个参数的字符串)。
  • 如果你的主题还没启用文章格式,需要先在functions.php里添加add_theme_support('post-formats', array('link', 'audio', 'video'));(不过你说已经显示所有格式,说明主题已经开启了,这步可以忽略)。

设置完成后,当你编辑这个自定义文章类型的内容时,右侧的文章格式 metabox就只会显示你指定的三种格式啦~

内容的提问来源于stack exchange,提问作者Ravi Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:08:31