wordpress代码实现自助申请友链功能

下面将以我主题介绍一下,如何添加该功能!

1、在你wp博客主题的目录下新建一个名为blinks.php的文件;

2、复制以下代码至blinks.php中:

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?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 || !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
    )
  );
 
  $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>&#x2714; 申请前请先加上本站链接;</p>
 
    <p>&#x2714; 网站域名必须是一级域名,非一级域名的网站暂不考虑;</p>
 
    <p>&#x2714; 稳定更新,每月至少发布1篇文章,最好是建站半年以上;</p>
 
    <p>&#x2714; 禁止一切产品营销、广告联盟类型的网站,优先通过同类原创、内容相近的网站;</p>
 
    <p>&#x2714; 网站内容一定要健康积极向上,凡内容污秽不堪的、反动反共的、宣扬暴力的、广告挂马的都将不会通过申请。</p>
 
    <p class="mt20"><strong>其他</strong></p>
 
    <p>博主会不定期访问友链,如果遇到网站长时间打不开、网站被降权,内容不符合条件等情况的话,将会撤销该友链!</p>
    <p>如果申请后,长时间未通过审核,有可能是博主太忙未看到,可以通过右侧QQ联系告知我,谢谢~</p>
 
    <p class="mt20"><strong>本站链接信息</strong></p>
 
    <p>名称:何海宝的博客</p>
 
    <p>网址:http://www.hehaibao.com/</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="请输入链接地址" 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>
    <!--表单结束-->
 
  </article>
  <?php endwhile; else: ?>
  <?php endif; ?>
</div>
 
<?php get_footer(); ?>

3、保存,最后进入WordPress管理后台 – 页面 – 添加新页面,标题为自助友链申请(你也可以自己起名),内容填上链接说明等,右侧选择模板,选择“自助申请友链”,发布。

4、自己在需要的页面中增加入口代码,示例如下:

1
<a href="http://www.hehaibao.com/blinks/">我要申请</a>

说明:其中主要部分就是get_header()前面的所有代码,以及form表单中的所有代码。部分文字描述代码也可以放在后台编辑器中,我这里并没有放哦~ 还有一点需要注意的是:后台不会高亮出哪个是刚提交的链接,你只能筛选或者搜索“待审核”找到它。

如果你主题中的代码跟我的不一样,就把上面这两段主要代码复制出来到你自己的主题中。

至于样式的话,我博客用的是bootstrap 3.x[官网:https://v3.bootcss.com],所以按照其写法不用加其他样式了,如果你不是bootstrap,请自行添加相关的css。

至于如何展示链接的话,可以试试WordPress自带的函数wp_list_bookmarks()

后台定制,添加一键筛选待审核链接按钮

找到wp-admin目录下的link-manager.php,在86行【Tips: 我的是wp 4.9.7版本,如果找不到就搜索“link-add.php”,找到这行】后面添加如下代码:

1
<a href="/wp-admin/link-manager.php?s=待审核&action=-1&cat_id=0&action2=-1" style="color:red;margin-left:5px;">查看待审核链接</a>

然后保存后,查看后台-链接管理页,点击按钮 效果如下图:

wordpress代码实现自助申请友链功能-何海宝的博客

扩展阅读

如果你想微信及时收到友链申请的提醒,怎么做呢?很简单,可以通过server酱来实现。假如你不知道啥事server酱,没关系,看看他们网站就知道了,传送门

将下列代码复制到wp_die()前面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// server酱 微信通知我
$key = '您的server酱KEY';  // 请自行替换
$postdata = http_build_query(  
 array(  
      'text' => '博客有人申请友链了',  
      'desp' => '名称:'.$link_name.';链接:'.$link_url.';QQ:'.$link_description
 )  
);  
 
$opts = array('http' =>  
      array(  
      'method' => 'POST',  
      'header' => 'Content-type: application/x-www-form-urlencoded',  
      'content' => $postdata  
      )  
);  
$context = stream_context_create($opts);  
$res = file_get_contents('http://sc.ftqq.com/'.$key.'.send', false, $context);

提交申请后,微信会收到消息,效果如图:

wordpress代码实现自助申请友链功能-何海宝的博客

写在最后

好了,本文到此结束,希望对你有帮助 ?

如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果觉得文章对你有帮助,请点个赞或者打赏支持一下,谢谢!

给TA打赏
共{{data.count}}人
人已打赏
WP实用教程

WordPress后台用户列表添加上次登录时间

2019-12-19 17:26:41

WP实用教程

wordpress主题实现搜索页关键词高亮

2019-12-19 17:29:35


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内 删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:指点聚源码
  2. 2、本站永久网址:https://www.zhidianju.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!(由于模板不是很完善签到 需刷新一下!)。
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
  6. 6、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  7. 7、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁 止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支 持你喜欢的作者,谢谢!
  8. 8、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源, 都不包含技术服务 请大家谅解!
  9. 9、如遇到加密压缩包,默认解压密码为"www.zhidianju.com",如遇到无法解压的请联系管理员!
  10. 10、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索