如何修改WordPress自定义分类法PHP代码仅显示首词?
实现仅显示分类法名称第一个词的修改方案
针对你的需求,只需要对分类名称做字符串分割处理即可,以下是修改后的完整代码,同时增加了错误判断避免潜在报错:
<?php $locations = get_the_terms($post->ID, 'location'); // 先验证分类数据是否有效,防止无分类或获取失败时报错 if ($locations && !is_wp_error($locations)) { foreach ($locations as $location) { echo '<div class="term-location">'; // 按空格分割分类名称为数组,trim处理首尾空白避免空元素 $name_parts = explode(' ', trim($location->name)); // 取数组第一个元素(即名称的第一个词) echo $name_parts[0]; echo '</div>'; } } ?>
关键修改点说明
- 增加有效性判断:
get_the_terms可能返回false或WP错误对象,先判断再循环能避免PHP警告 - 字符串分割处理:用
explode(' ', ...)把分类名称按空格拆分成数组,trim是为了处理名称首尾可能存在的空格,确保第一个元素不会是空字符串 - 取第一个词:直接调用数组的
[0]索引即可获取分割后的第一个词,即使分类名称本身没有空格,数组也只会包含一个元素,不会触发报错
如果你的分类名称中存在多个连续空格的情况,可以把分割代码替换为正则分割,兼容任意数量的空白字符:
$name_parts = preg_split('/\s+/', trim($location->name));
内容的提问来源于stack exchange,提问作者ItsBenedict
相关产品推荐
相关产品推荐

