技术干货

纯代码实现自助友链申请

果壳 · 8月27日 · 2019年 5887次已读

初衷

今天想想,申请友链老是留言挺麻烦的,能不能直接弄个友链申请系统,方便一点。

接着

说干就干,当然,像我这种小白只能找度娘帮帮忙了,不过度娘也没让我失望,找到了几个,选了其中的一个,感谢空白木博客

然后

使用后发现达不到自己的要求,图像描述变成联系QQ了,也没有头像,所以自己做了修改,下面给出我的修改版

方法

网站主题目录下新建一个名为links.php的文件将代码粘贴到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_image = isset( $_POST['blink_image'] ) ? trim(htmlspecialchars($_POST['blink_image'], 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 || !preg_match("/^(https?:\/\/)?(((www\.)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)?\.([a-zA-Z]+))|(([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5]))(\:\d{0,4})?)(\/[\w- .\/?%&=]*)?$/i", $link_url)) { //验证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,
'link_image' => $link_image
)
);

$result = $wpdb->get_results($sql_link);

wp_die('亲,友情链接提交成功,【等待站长审核中】!<a href="/blinks/">点此返回</a>', '提交成功');

}

get_header();
?>

<div id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article class="col-md-10 col-md-offset-2 view clearfix">
<?php if(function_exists('cmp_breadcrumbs')) cmp_breadcrumbs();?>

<p class="mt20">欢迎各位大佬与本博交换友情链接,不胜感激。</p>

<p class="mt20"><strong>友链自助申请须知</strong></p>

<p>✔ 申请前请先加上本站链接;</p>

<p>✔ 禁止一切产品营销、广告联盟类型的网站;</p>

<p>✔ 网站内容一定要健康积极向上,凡内容污秽不堪的、反动反共的、宣扬暴力的、广告挂马的都将不会通过申请。</p>

<p>✔ 博主会不定期访问友链,如果遇到网站长时间打不开、网站被降权,内容不符合条件等情况的话,将会撤销该友链!</p>

<p>✔ 如果申请后,长时间未通过审核,有可能是博主太忙未看到,可以通过留言告知我,谢谢~</p>

<p class="mt20"><strong>本站链接信息</strong></p>

<p>名称:木子博客</p>

<p>链接:http://gksir.top/</p>

<p>简介:用生活记录我们的爱!</p>

<p>头像:http://gksir.top/</p>

<!--表单开始-->
<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="请输入链接,带http://或https://哦!" name="blink_url" />
</div>

<div class="form-group">
<label for="blink_lianxi">  简介:</label>
<input type="text" size="40" value="" class="form-control" id="blink_lianxi" placeholder="请输入简介" name="blink_lianxi" />
</div>

<div class="form-group">
<label for="blink_image">  头像:</label>
<input type="text" size="40" value="" class="form-control" id="blink_image" placeholder="请输入头像地址" name="blink_image" />
</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>
<!--表单结束-->
<br/>
</article>
<?php endwhile; else: ?>
<?php endif; ?>
</div>

<?php get_footer(); ?>

最后

保存后,进入WordPress管理后台 – 页面 – 添加新页面,标题为自助友链申请(你也可以自己起名)

内容填上链接说明等,右侧选择模板,选择“自助申请友链”,发布!
实在太懒的话,就点击这里下载吧!都给你打包好了!


本文作者:果壳
原文链接:https://muuzi.cc/86.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

3 条回应

  1.  空木白博客2019-8-28 · 20:30

    友链已添加欢迎回访!

    • 果壳2019-8-28 · 20:46

      好滴好滴哈!

页面加载用时0.585 s
×