WP 4.9.5移除附件字段代码无效,求排查问题原因
解决WordPress 4.9.5移除附件字段无效的问题
嘿,我来帮你搞定这个问题!你的代码思路是对的,但有几个细节没注意到,导致在WP4.9.5里不生效:
1. 字段键名错误
在WP4.9.x版本中,附件编辑页面的标题字段对应的键名是post_title,而不是你写的title。post_excerpt(描述字段)的键名是对的,但标题的键名写错了,所以移除标题的代码根本找不到目标字段。
2. 过滤器优先级可能不够
有些主题或插件会在默认优先级(10)之后重新添加这些字段,所以你需要把过滤器的优先级调得更高,确保你的代码最后执行。
修正后的代码
把你的代码改成这样:
function filter_attachment_fields( $fields, $post ) { // 移除描述字段(post_excerpt是正确的键名) if ( isset( $fields['post_excerpt'] ) ) { unset( $fields['post_excerpt'] ); } // 移除标题字段(这里要用post_title) if ( isset( $fields['post_title'] ) ) { unset( $fields['post_title'] ); } return $fields; } // 把优先级从10改成99,确保最后执行 add_filter( 'attachment_fields_to_edit', 'filter_attachment_fields', 99, 2 );
额外排查技巧
如果还是不生效,可以先在函数里加个调试语句,看看实际的$fields数组结构,确认字段键名:
function filter_attachment_fields( $fields, $post ) { var_dump( $fields ); // 打印字段数组,查看真实键名 // ... 其他代码 ... return $fields; }
访问附件编辑页面时,就能在页面顶部看到所有字段的键名,这样就能精准定位要移除的字段了。
内容的提问来源于stack exchange,提问作者b0xed
相关产品推荐
相关产品推荐

