WordPress文章标题截取异常,如何通过functions.php禁用wp_trim_words?
解决WordPress文章标题被强制截取为6个词的问题
首先,你代码里嵌套两次wp_trim_words属于冗余操作,直接用wp_trim_words(get_the_title(), 16, '')即可,但核心问题是主题或第三方插件已经通过过滤钩子提前修改了标题输出,导致你的设置失效。
以下是通过functions.php解决的几种方案:
移除通用的标题截取钩子
直接添加代码移除默认或主题挂载的wp_trim_words过滤:// 移除全局的标题截取过滤 remove_filter('the_title', 'wp_trim_words');如果你只想在特定场景(比如文章列表页)生效,可限定触发时机:
add_action('loop_start', function() { remove_filter('the_title', 'wp_trim_words'); });移除主题自定义的截取函数
如果主题用了自定义函数截取标题(比如主题代码里有类似add_filter('the_title', 'custom_trim_title', 10, 2)的代码),找到对应函数名后,用以下代码移除:// 替换custom_trim_title为主题实际使用的函数名 remove_filter('the_title', 'custom_trim_title', 10);直接获取未过滤的原始标题
如果你不想改动全局过滤,也可以直接调用get_the_title()时跳过所有过滤规则,再自行处理:// 第二个参数设为false,获取未经过滤的原始标题 $title_count = wp_trim_words(get_the_title(null, false), 16, '');
内容的提问来源于stack exchange,提问作者JulieReader
相关产品推荐
相关产品推荐

