Emlog Pro实现自助友链申请的详细教程(附代码)
在Emlog Pro博客中,实现自助友链申请功能可以显著提升站长的管理效率,并为访客提供一种更加便捷的申请方式。以下是详细的教程,包含代码示例,帮助你在Emlog Pro中轻松实现这一功能。
一、前期准备
- 确保你的Emlog Pro博客已经安装并配置完毕。
- 具备基本的PHP和HTML知识,以便进行代码编辑和调试。
二、创建自助友链申请页面
-
新建文件
在你的Emlog Pro博客主题目录下,新建一个名为blinks.php
的文件。 -
添加代码
在blinks.php
文件中添加以下代码,用于处理友链申请表单的提交和验证:
<?php
/* Template Name: 自助申请友链
* 提示:友情链接需在后台审核 */
// 检查表单提交
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_description']) ? trim(htmlspecialchars($_POST['blink_description'], ENT_QUOTES)) : '';
$link_target = "_blank";
$link_visible = "N"; // 默认链接不可见,需后台审核
// 验证表单数据
if (empty($link_name) || mb_strlen($link_name) > 20) {
wp_die('连接名称必须填写,且长度不得超过20字');
}
if (empty($link_url) || strlen($link_url) > 60 || !preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $link_url)) {
wp_die('链接地址必须填写,且格式正确');
}
// 插入链接数据到数据库
$sql_link = $wpdb->insert($wpdb->links, array(
'link_name' => '【待审核】--- ' . $link_name,
'link_url' => $link_url,
'link_target' => $link_target,
'link_notes' => $link_description,
'link_visible' => $link_visible
));
// 提交成功提示
wp_die('友链提交成功,等待站长审核中!<a href="/">点此返回</a>', '提交成功');
}
get_header();
?>
<div id="main">
<div class="content content-link-application">
<div class="form-header">
<h1>友链自助申请</h1>
<ul>
<li>您的网站需稳定运行,且有一定的文章量。</li>
<li>网站内容必须健康积极,反动、污秽内容将不予通过。</li>
<li>请在您的网站中添加本站友链,否则审核不予通过。</li>
<li>如长时间未通过审核,可通过联系方式告知站长。</li>
</ul>
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" class="mt20" style="margin-bottom:20px;">
<div class="form-group">
<label for="blink_name"><font color="red">*</font> 名称:</label>
<input type="text" id="blink_name" name="blink_name" class="form-control" size="40" required>
</div>
<div class="form-group">
<label for="blink_url"><font color="red">*</font> URL:</label>
<input type="text" id="blink_url" name="blink_url" class="form-control" size="40" required>
</div>
<div class="form-group">
<label for="blink_description">描述:</label>
<textarea id="blink_description" name="blink_description" class="form-control" rows="4" cols="50"></textarea>
</div>
<button type="submit" name="blink_form" value="send" class="btn btn-primary">提交申请</button>
</form>
</div>
</div>
</div>
<?php get_footer(); ?>
三、美化页面样式
为了提升自助友链申请页面的视觉效果,将以下CSS代码添加到你的主题样式表(style.css
)中:
/* 自助申请友链样式 */
.content-link-application {
background-color: #fff;
border-radius: 5px;
width: 100%;
max-width: 600px;
margin: 0 auto;
-webkit-box-shadow: 0 7px 8px 0 rgba(0, 0, 0, 0.11);
box-shadow: 0 7px 8px (0, 0, 0, 0.11);
padding: 20px;
}
.content-link-application .form-header {
margin-bottom: 40px;
}
.content-link-application ul {
list-style: none;
padding: 0;
margin: 0 0 20px;
}
.content-link-application ul li {
margin-bottom: 10px;
}
四、设置页面访问权限(可选)
如果你希望只有登录用户才能访问自助友链申请页面,可以在Emlog Pro后台进行相应的权限设置。
五、完成
至此,你已经在Emlog Pro博客中成功实现了自助友链申请功能。访客可以通过该页面方便地提交友情链接申请,而站长则可以在后台进行高效的审核和管理。
请登录后发表评论
注册
社交账号登录
停留在世界边缘,与之惜别