WordPress如何禁用主题设置的user_thumb(45×45)缩略图?
代码有效性与优先级设置说明
一、代码的问题与修正
你写的这段代码逻辑方向是对的,但有个致命问题:代码里用的是中文引号‘’,PHP会把它识别成普通字符串而非语法引号,直接运行会触发报错。修正后的代码需要把所有中文引号换成英文单引号:
function shapeSpace_disable_user_thumbs($sizes) { unset($sizes['user_thumb']); // 禁用45×45尺寸 return $sizes; } add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_user_thumbs');
修正后这段代码就能生效——它通过intermediate_image_sizes_advanced钩子过滤WordPress的中间图片尺寸数组,移除user_thumb对应的条目,从而阻止系统生成这个45×45的缩略图。
二、设置优先级覆盖主题/插件代码
完全可以通过设置优先级确保你的代码优先执行。add_action函数的第三个参数就是优先级,默认值是10,数字越小,代码执行优先级越高。
如果主题或插件也是通过intermediate_image_sizes_advanced钩子添加的user_thumb尺寸,你只需要把优先级设得比它们的数值小就行,比如设为1:
add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_user_thumbs', 1);
这样你的代码会先于主题/插件的代码执行,提前把user_thumb从尺寸数组中移除,后续主题/插件的代码就无法再添加这个尺寸了。
内容的提问来源于stack exchange,提问作者JPashs
相关产品推荐
相关产品推荐

