functions.php 里加完后,再友情链接里就会出现 Nofollowing this link 选项,勾上就可以了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
/** * 一下两个钩子是为了保证代码只在links页面显示 * 如果你想了解更多load-$page action的信息,访问http://codex.wordpress.org/Adding_Administration_Menus#Page_Hook_Suffix */ add_action('load-link.php', 'sola_blogroll_nofollow'); add_action('load-link-add.php', 'sola_blogroll_nofollow'); function sola_blogroll_nofollow() { //通过action add_meta_boxes创建我们需要的Meta Box add_action('add_meta_boxes', 'sola_blogroll_add_meta_box', 1, 1); //通过filter pre_link_rel将数据保存 add_filter('pre_link_rel', 'sola_blogroll_save_meta_box', 10, 1); } //创建Nofollow Meta Box function sola_blogroll_add_meta_box() { //翻译成中文就是,创建一个名叫Blogroll Nofollow的Meta Box,放在link页面的右侧边栏,Meta Box的结构 //由函数sola_blogroll_inner_meta_box产生 add_meta_box('sola_blogroll_nofollow_div', __('Blogroll Nofollow'), 'sola_blogroll_inner_meta_box', 'link', 'side'); } //输出Meta Box的HTML结构 function sola_blogroll_inner_meta_box($post) { $bookmark = get_bookmark($post->ID, 'ARRAY_A'); if (strpos($bookmark['link_rel'], 'nofollow') !== FALSE) $checked = ' checked="checked"'; else $checked = ''; ?> <label for="sola_blogroll_nofollow_checkbox"><?php echo __('Nofollow this link?'); ?></label> <input value="1" id="sola_blogroll_nofollow_checkbox" name="sola_blogroll_nofollow_checkbox"<?php echo $disabled; ?> type="checkbox"<?php echo $checked; ?> /> <?php echo $message; ?> <?php } //保存用户的选择 function sola_blogroll_save_meta_box($link_rel) { $rel = trim(str_replace('nofollow', '', $link_rel)); if ($_POST['sola_blogroll_nofollow_checkbox']) $rel .= ' nofollow'; return trim($rel); } |