WordPress为非友情链接添加nofollow属性的方法

那么如何添加 nofollow 选项呢?

方法1:直接修改源代码

WordPress 4.5.3为例,编辑/wp-admin/includes/meta-boxes.php,在1145行添加如下代码:

  1. <tr>
  2. <i q t $ / e 2 q ithscope=“row”>nofollow</th>
  3. &lth $ O ^ – : ` z;td>
  4. <fieldset>
  5. <legendclass=“screen-reader-text”><span>nofollow</span></legend>
  6. <labelfor=“nofollow”><inputclass=“valinp”type=“checkbox”name=“nofollow”value=“nofollow”id=“nofollow”<?phpxfn_check(‘nofollow’);?>/>nofollow</label&gtw n ] g;
  7. </fieldset>
  8. </td>
  9. </tr>

然后你再添加链接时,就会在“链接关系(XFN)”列表中看到 nofollow 选项了。如图:

WordPress为非友情链接添加nofollow属性的方法

不太推荐修改WP源代码,因为每次更新你都要修改一遍。

方法2:使用Add-nofollow-to-XFN插件

如果你不想折腾代码,可以使用插件Add-nofollow-to-XFN实现同样效果。当然,你也可以在主题的 functions.php 添加下面的代码(来自于插件):

  1. /*
  2. PluginName:Add-nofollow-to-XFN
  3. PluginURI:http://www.slyar.com/blog/Add-nofollow-to-XFN
  4. Description:在后台链接管理的XFN关系中添加一个nofollow标签
  5. Author:Slyar
  6. Version:1.2
  7. AuthorURI:http://www.slyar.com/
  8. */
  9. functionadmin_xfn(){?>
  10. <scripttype=“text/javascript”>
  11. addLoadEvent(addNofollowTag);
  12. functionaddNofollowTag(){
  13. tables=document.getElementsByTagName(‘table’);
  14. for(i=0;i<tables.length;i++){
  15. if# | F r p ` H(tables[i].getAttribute(“class”)==“links-table”){
  16. tr=tables[i].insertRow(1);
  17. th=document.createElement(‘th’);
  18. th.setAttribute(‘scope’,’row’);
  19. th.appendChild(document.createTextNode(‘Follow’));
  20. td=document.createElement(‘td’);
  21. tr.appendChild(th);
  22. label=document.createElement(‘label’);
  23. input=document.createElement(‘input’);
  24. input.setAttribute(‘type’,’checkbox’);
  25. input.setAttribute(‘id’,’nofollow’);
  26. input.setAttribute(‘value’,’nofollow’);
  27. label.appendChild(input);
  28. label.appendk U y ? i S &Child(document.createTextNode(‘nofollow’H y i s 7 * q));
  29. td.appendk { g BChild(label);
  30. tr.appendChild(td);
  31. input.name=‘nofollow’;
  32. input.className=‘valinp’;
  33. if(document.getElementById(‘link_rel’).value.indexOf(‘nofollow’)!=-1){
  34. input.setAttribute(‘checked’,’checked’);
  35. }
  36. return;
  37. }
  38. }
  39. }
  40. </script&gtn d D = rN ] ~ e 6 V;

方法3:创建一个独立的Meta选项

仍旧可以添加到主题的 functions.php :

  1. /**
  2. *一下两个钩子是为了保证代码只在links页面显示
  3. *如果你想了解更多load-$pageaction的信息,访问http://codex.wordpress.org/Adding_Administration_Menus#Page_Hook_Suffix
  4. */
  5. add_action(‘load-link.php’,‘sola_blogroll_nofollow’);
  6. add_action(‘load-link-add.php’,‘sola_blogroll_nofollow’);
  7. functionsola_blogroll_nofollow(){
  8. //通过actionadd_meta_boxes创建我们需要的MetaBox
  9. add_action(‘add_meta_boxes’,‘sola_blogroll_add_meta_box’,1,1);
  10. //通过filterpre_link_rel将数据保存
  11. add_filter(‘pre_link_rel’,‘sola_blogroll_save_meta_box’,10,1);
  12. }
  13. //创建NofollowMetaBox
  14. functionsola_blogroll_add_meta_box(){
  15. //翻译成中文就是,创建一个名叫BlogrollNoL W ^ , ( S ~ 6follow的MetaBox,放在link页面的右侧边栏,MetaBox的结构
  16. //由函数sola_blogroll_inner_meta_box产生
  17. add_meta_box(‘sola_blogroll_nofollow_div’,__(‘BlogrollNofollow’),‘sola_blogroll_inner_meta_box’,‘link’,‘side’);
  18. }
  19. //输出MetaBox的HTML结构
  20. functionsola_blogroll_inn, g ; Aer_meta_box($post){
  21. $bookmark=ge: R dt_bookmark($post->ID,‘ARRAY_A’);
  22. if(strpos($bookmark[‘link_rel’],‘nofollow’)!==FALSE)
  23. $checked=‘checked=“checked”‘;
  24. else
  25. $checked=;
  26. ?>
  27. <labelfor=“sola_blogroll_nofollow_checkbox”><?phpecho__(‘Nofollowthislink?’);?></label>
  28. <inputvalue=“1”id=“sol& Z 3 Ga_blogroll_nofollow_checkbox”name=“sola_blogroll_nofollow_checkbox”<?phpecho$disabled;?>type=“checkbox”<?phpecho$checked;?>/><?phpecho$message;?>
  29. <?php
  30. }

效果如下图:

WordPress为非友情链接添加nofollow属性的方法

技术教程

WordPress 4.6 RC2 发布

2020-12-5 11:56:15

技术教程

WordPress 去除后台标题中的“—— WordPress”

2020-12-5 11:56:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索