查看目录
本来网站的主题是自带友情链接页面的,只在带后台的仪表盘——新建页面——选择links模板,创建友情链接页面即可。但是总感觉有点美中不足,看着别人家网站有自助申请友情链接的功能比较眼热,怎么办呢?手动添加一下吧,自己动手丰衣足食,建网站也是如此。
wordpress自助友情链接
请恕我偷个懒,网上类似功能的代码很多,我就直接拿来主义了。代码如下:
1、开启友情链接功能:
一般现在国内的主题都是开启的,但是为了以防有的主题没有开启,也把代码放在这里。将下方代码添加至主题functions.php文件中:
//开启WordPress链接功能 add_filter( 'pre_option_link_manager_enabled', '__return_true' );
如果你的wordpress主题已经开启友链功能,跳过这一步。
2、创建友情链接页面:
在WordPress主题根目录下手动创建一个“links.php”页面,将下方代码放入其中:
<?php /* Template Name: 自助申请友链 * 提示:友情链接,需在后台审核 */ ?> <?php if( isset($_POST['blink_form']) && $_POST['blink_form'] == 'send'){ global $wpdb; // 表单变量初始化 $link_name = isset( $_POST['blink_name'] ) ? trim(htmlspecialchars($_POST['blink_name'], ENT_QUOTES)) : ''; $link_url = isset( $_POST['blink_url'] ) ? trim(htmlspecialchars($_POST['blink_url'], ENT_QUOTES)) : ''; $link_description = isset( $_POST['blink_lianxi'] ) ? trim(htmlspecialchars($_POST['blink_lianxi'], ENT_QUOTES)) : ''; // 联系方式 $link_target = "_blank"; $link_visible = "N"; // 表示链接默认不可见 // 表单项数据验证 if ( empty($link_name) || mb_strlen($link_name) > 20 ){ wp_die('连接名称必须填写,且长度不得超过30字'); } if ( empty($link_url) || strlen($link_url) > 60 ) { //验证url wp_die('链接地址必须填写'); } $sql_link = $wpdb->insert( $wpdb->links, array( 'link_name' => '【待审核】--- '.$link_name, 'link_url' => $link_url, 'link_target' => $link_target, 'link_description' => $link_description, 'link_visible' => $link_visible ) ); $result = $wpdb->get_results($sql_link); wp_die('亲,友情链接提交成功,【等待站长审核中】!<p><a href="/">点此返回</a>', '提交成功'); } get_header(); ?> <div id="main"> <div class="container"> <div class="content content-link-application"> <div class="form-header"> <h1>友链申请</h1> <p>您可以通过提交下面的表单贵站相关信息。</p> </div> <div class="wb-form contact-form nice-validator n-default"> <!--表单开始--> <form method="post" class="mt20" action="<?php echo $_SERVER["REQUEST_URI"]; ?>"> <div class="form-group"> <label for="blink_name"><font color="red">*</font> 链接名称:</label> <input type="text" size="40" value="" class="form-control" id="blink_name" placeholder="请输入链接名称" name="blink_name" /> </div> <div class="form-group"> <label for="blink_url"><font color="red">*</font> 链接地址:</label> <input type="text" size="40" value="" class="form-control" id="blink_url" placeholder="请输入链接地址" name="blink_url" /> </div> <div class="form-group"> <label for="blink_lianxi">联系QQ:</label> <input type="text" size="40" value="" class="form-control" id="blink_lianxi" placeholder="请输入联系QQ" name="blink_lianxi" /> </div> <div> <input type="hidden" value="send" name="blink_form" /> <button type="submit" class="btn btn-primary">提交申请</button> <button type="reset" class="btn btn-default">重填</button> (提示:带有<font color="red">*</font>,表示必填项~) </div> </form> <!--表单结束--> </div> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php endwhile; else: ?> <?php endif; ?> </div> </div> </div> <?php get_footer(); ?>
3、后台选择模板
添加完成页面后,在WordPress后台新建一个页面,选用刚刚的模板:自助申请友链,发布页面即可看到效果!
本站友链页面修改
鉴于本站主题自带了友情链接页面,即Links页,通用的方法是把自助申请友情链接这个页面命名为blinks,但是楚狂人想了一下,一个功能何必要建两个页面呢?把上面的申请友情链接这段代码,添加到原来的links页面模板中也是一样的。只是添加位置要调整一下,经过几次测试,终于搞定了。
代码如下:
<?php /* Template name: Links * Description: A links page */ get_header(); ?> <div class="container container-page"> <?php _moloader('mo_pagemenu', false) ?> <div class="content"> <?php while (have_posts()) : the_post(); ?> <header class="article-header"> <h1 class="article-title"><a href="<?php%20the_permalink()%20?>"><?php the_title(); ?></a></h1> </header> <article class="article-content"> <?php the_content(); ?> </article> <?php endwhile; ?> <ul class="plinks"> <?php $links_cat = _hui('page_links_cat'); $links = array(); if( $links_cat ){ foreach ($links_cat as $key => $value) { if( $value ) $links[] = $key; } } $links = implode(',', $links); if( !empty($links) ){ wp_list_bookmarks(array( 'category' => $links, 'category_orderby' => 'slug', 'category_order' => 'ASC', 'orderby' => 'rating', 'order' => 'DESC' )); } ?> </ul> <?php comments_template('', true); ?> </div> <?php if( isset($_POST['blink_form']) && $_POST['blink_form'] == 'send'){ global $wpdb; // 表单变量初始化 $link_name = isset( $_POST['blink_name'] ) ? trim(htmlspecialchars($_POST['blink_name'], ENT_QUOTES)) : ''; $link_url = isset( $_POST['blink_url'] ) ? trim(htmlspecialchars($_POST['blink_url'], ENT_QUOTES)) : ''; $link_description = isset( $_POST['blink_lianxi'] ) ? trim(htmlspecialchars($_POST['blink_lianxi'], ENT_QUOTES)) : ''; // 联系方式 $link_target = "_blank"; $link_visible = "N"; // 表示链接默认不可见 // 表单项数据验证 if ( empty($link_name) || mb_strlen($link_name) > 20 ){ wp_die('连接名称必须填写,且长度不得超过30字'); } if ( empty($link_url) || strlen($link_url) > 60 ) { //验证url wp_die('链接地址必须填写'); } $sql_link = $wpdb->insert( $wpdb->links, array( 'link_name' => '【待审核】--- '.$link_name, 'link_url' => $link_url, 'link_target' => $link_target, 'link_description' => $link_description, 'link_visible' => $link_visible ) ); $result = $wpdb->get_results($sql_link); wp_die('亲,友情链接提交成功,【等待站长审核中】!<p><a href="/">点此返回</a>', '提交成功'); } get_header(); ?> <div id="main"> <div class="container"> <div class="content content-link-application"> <div class="form-header"> <h1>友链申请</h1> <p>您可以通过提交下面的表单贵站相关信息。</p> </div> <div class="wb-form contact-form nice-validator n-default"> <!--表单开始--> <form method="post" class="mt20" action="<?php echo $_SERVER["REQUEST_URI"]; ?>"> <div class="form-group"> <label for="blink_name"><font color="red">*</font> 链接名称:</label> <input type="text" size="40" value="" class="form-control" id="blink_name" placeholder="请输入链接名称" name="blink_name" /> </div> <div class="form-group"> <label for="blink_url"><font color="red">*</font> 链接地址:</label> <input type="text" size="40" value="" class="form-control" id="blink_url" placeholder="请输入链接地址" name="blink_url" /> </div> <div class="form-group"> <label for="blink_lianxi">联系QQ:</label> <input type="text" size="40" value="" class="form-control" id="blink_lianxi" placeholder="请输入联系QQ" name="blink_lianxi" /> </div> <div> <input type="hidden" value="send" name="blink_form" /> <button type="submit" class="btn btn-primary">提交申请</button> <button type="reset" class="btn btn-default">重填</button> (提示:带有<font color="red">*</font>,表示必填项~) <p class="mt20" style="margin-top:20px;">欢迎同类站点与本站交换友情链接,要求收录良好,内容健康,有权重有排名更佳。</p> <p class="mt20"><strong>友链自助申请须知</strong></p> <p>✔ 申请前请先加上本站链接;</p> <p>✔ 网站域名必须是一级域名,非一级域名的网站暂不考虑;</p> <p>✔ 稳定更新,每月至少发布1篇文章,最好是建站半年以上;</p> <p>✔ 禁止一切产品营销、广告联盟类型的网站,优先通过同类原创、内容相近的网站;</p> <p>✔ 网站内容一定要健康积极向上,凡内容污秽不堪的、反动反共的、宣扬暴力的、广告挂马的都将不会通过申请。</p> <p class="mt20"><strong>本站链接信息(最好直接联系QQ交换哦)</strong></p> <p>名称:楚狂人</p> <p>网址:https://www.chukuangren.com/</p> </div> </form> <!--表单结束--> </div> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php endwhile; else: ?> <?php endif; ?> </div> </div> </div> </div> </div> <?php get_footer();
如此,就算为wordpress网站添加自助申请友链功能成功了,申请后可以到后台进行审核。