wordpress 网址导航主题 wpsite 用到了这个功能,有兴趣的可以前往了解
add_action('load-link.php', 'wpsite_blogroll_nofollow'); add_action('load-link-add.php', 'wpsite_blogroll_nofollow'); function wpsite_blogroll_nofollow() { //通过 action add_meta_boxes 创建我们需要的 Meta Box add_action('add_meta_boxes', 'wpsite_blogroll_add_meta_box', 1, 1); //通过 filter pre_link_rel 将数据保存 add_filter('pre_link_rel', 'wpsite_blogroll_save_meta_box', 10, 1); } //创建 Nofollow Meta Box function wpsite_blogroll_add_meta_box() { //翻译成中文就是,创建一个名叫 Blogroll Nofollow 的 Meta Box,放在 link 页面的右侧边栏,Meta Box 的结构 //由函数 sola_blogroll_inner_meta_box 产生 add_meta_box('wpsite_blogroll_nofollow_div', __('Nofollow 标签'), 'wpsite_blogroll_inner_meta_box', 'link', 'side'); } //输出 Meta Box 的 HTML 结构 function wpsite_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="wpsite_blogroll_nofollow_checkbox"><?php echo __('是否添加 Nofollow 标签?'); ?></label> <input value="1" id="wpsite_blogroll_nofollow_checkbox" name="wpsite_blogroll_nofollow_checkbox"<?php echo $disabled; ?> type="checkbox"<?php echo $checked; ?> /> <?php echo $message; ?> <?php } //保存用户的选择 function wpsite_blogroll_save_meta_box($link_rel) { $rel = trim(str_replace('nofollow', '', $link_rel)); if ($_POST['wpsite_blogroll_nofollow_checkbox']) $rel .= ' nofollow'; return trim($rel); }
之前小雨也分享过实现这个功能的插件