给 Discuz! X3.* 导航链接添加nofollow属性的方法
分类 网站技术/村民张先生 发布于 2017-12-09 23:24
以“顶部导航”(界面/导航设置/顶部导航)为例。
打开 source\function\cache\cache_setting.php 文件,查找:
function get_cachedata_topnav() { global $_G; $data['topnavs'] = array(); foreach(C::t('common_nav')->fetch_all_by_navtype(4) as $nav) { $nav['extra'] = ''; if(!$nav['type']) { if($nav['identifier'] == 'sethomepage') { $nav['url'] = 'javascript:;'; $nav['extra'] = ' onclick="setHomepage(\''.$_G['siteurl'].'\');"'; } elseif($nav['identifier'] == 'setfavorite') { $nav['url'] = $_G['siteurl']; $nav['extra'] = ' onclick="addFavorite(this.href, \''.addslashes($_G['setting']['bbname']).'\');return false;"'; } } $nav['code'] = '<a href="'.$nav['url'].'"'.($nav['title'] ? ' title="'.$nav['title'].'"' : '').($nav['target'] == 1 ? ' target="_blank"' : '').' '.parsehighlight($nav['highlight']).$nav['extra'].'>'.$nav['name'].'</a>'; $id = $nav['type'] == 0 ? $nav['identifier'] : 100 + $nav['id']; $data['topnavs'][$nav['subtype']][$id] = array('available' => $nav['available'], 'navname' => $nav['name'], 'code' => $nav['code'], 'type' => $nav['type'], 'level' => $nav['level'], 'id' => $nav['identifier']); } return $data['topnavs']; }
将其中的:
$nav['title'] ? ' title="'.$nav['title'].'"' : ''
替换为:
$nav['title'] ? ($nav['title'] == 'nofollow' ? ' rel="nofollow"' : ' title="'.$nav['title'].'"') : ''
然后在后台“界面/导航设置/顶部导航”设置中将需要添加nofollow属性的链接的“导航说明”修改为“nofollow”,该链接将被添加该属性。
如需修改“底部导航”等其它导航链接,可查找“get_cachedata_footernav”等进行修改,方法类似。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截