自助友联申请

发布于 2022-03-13  697 次阅读


本文最后更新于2022年5月1日,已超过 30 天没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

开工

  1. 在你wp博客主题的目录下新建一个名为blinks.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_description = isset( $_POST['blink_description'] ) ? trim(htmlspecialchars($_POST['blink_description'], 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("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/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_image' => $link_image,
'link_visible' => $link_visible
)
);
 
$result = $wpdb->get_results($sql_link);
 
wp_die('亲,友情链接提交成功,【等待站长审核中】!<a href="/">点此返回</a>', '提交成功');
 
}
 
get_header();
?>

 
<div id="main">
<div class="content content-link-application">
<div class="form-header">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 
<?php if(function_exists('cmp_breadcrumbs')) cmp_breadcrumbs();?>
 
<h1>友链自助申请</h1>
<br/>
<p>✔ 您的网站已稳定运行,且有一定的文章量;</p>
<p>✔ 网站内容一定要健康积极向上,凡内容污秽不堪的、反动反共的都将不会通过申请。</p>
<p>✔ 请在您的网站友情链接中增加本站信息。审核时,未在您的站点中看到本站链接的,审核不予通过。</p>
<p>✔ 如果申请后,长时间未通过审核,有可能是博主太忙未看到,可以通过联系告知我,谢谢~</p>
<p>✔ Email: flurrychan@yahoo.com.hk  QQ: 84562106  </p>
 <br/>
<!--表单开始-->
<form method="post" class="mt20" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" style="margin-bottom:20px; ">
 
<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_description"><font color="red">*</font>  简介:</label>
<input type="text" size="40" value="" class="form-control" id="blink_description" placeholder="请输入简介" name="blink_description" />
</div>
 
<div class="form-group">
<label for="blink_image"><font color="red">*</font>  头像:</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>&nbsp;&nbsp;&nbsp;&nbsp;
<button type="reset" class="btn btn-default">重填</button>
(提示:带有<font color="red">*</font>,表示必填项~)
</div>
</form>
<!--表单结束-->
 
<?php endwhile; else: ?>
<?php endif; ?>
</div>
</div>
</div>
<?php get_footer(); ?>

2. 在css是添加以下代码(我是Sakura主题添加到syle.css里面或自定义CSS):


/*友联申请*/
.content-link-application {
    background-color: #fff;
    border-radius: 5px;
    width: 100%;
    -webkit-box-shadow: 0 7px 8px 0 rgb(0 0 0 / 11%);
    box-shadow: 0 7px 8px 0 rgb(0 0 0 / 11%);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
	margin: 80px auto;
}
.content-link-application .form-header {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
}
.form-group {
    margin-bottom: 15px;
}
label {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px;
}
.form-control {
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
}

.form-control, output {
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    display: block;
}
.btn-primary, .btn-primary:active, .btn-primary:active:focus, .btn-primary:focus, .btn-primary:hover, .open>.dropdown-toggle.btn-primary, .open>.dropdown-toggle.btn-primary:focus {
    text-shadow: 0 -1px #1d8fe4;
    background-color: #20a0ff;
    border-color: #1d8fe4!important;
    -webkit-box-shadow: 0 3px 5px rgb(32 160 255 / 30%);
    box-shadow: 0 3px 5px rgb(32 160 255 / 30%);
}
.btn {
    display: inline-block;
    padding: 4px 15px;
    font-size: 14px;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    border-radius: 6px;
    background-image: none;
    color: #fff;
    height: 39px;
    box-sizing: border-box;
    border: 1px solid;
    border-bottom-width: 3px;
    -webkit-transition: .1s;
    transition: .1s;
}
.btn-default, .btn-default:active, .btn-default:active:focus, .btn-default:focus, .btn-default:hover, .open>.dropdown-toggle.btn-default, .open>.dropdown-toggle.btn-default:focus {
    color: #8492A6!important;
    text-shadow: 0 1px #fff;
    background-color: #fff;
    border-color: #C0CCDA;
    -webkit-box-shadow: 0 3px 5px rgb(132 146 166 / 10%);
    box-shadow: 0 3px 5px rgb(132 146 166 / 10%);
}

3. 进入WordPress管理后台 – 页面 – 添加新页面,标题为:“自助友链申请”(你也可以自己起名),内容留空,固定链接:“自己设定”,右侧选择模板,选择“自助申请友链”,发布。

4. 自己在需要的菜单中 添加 显示。

5. wordpress后台,添加一键筛选待审核链接按钮,找到wp-admin目录下的link-manager.php,在104行左右或者搜索link-add.php,再后面添加如下代码:

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

保存后,查看后台-链接管理页,点击按钮。赶紧去测试一下新功能XD

另外,结合友情链接版本的模板代码

<?php
/*
Template Name: links
* 提示:友情链接,需在后台审核
*/
?>

<?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_description = isset( $_POST['blink_description'] ) ? trim(htmlspecialchars($_POST['blink_description'], 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("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/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_image' => $link_image,
'link_visible' => $link_visible
)
);
 
$result = $wpdb->get_results($sql_link);
 
wp_die('亲,友情链接提交成功,【等待站长审核中】!<a href="/">点此返回</a>', '提交成功');
 
}
 
get_header();
?>
 	<?php while(have_posts()) : the_post(); ?>
	<?php if(akina_option('patternimg') || !get_post_thumbnail_id(get_the_ID())) { ?>
	<span class="linkss-title"><?php the_title();?></span>
	<?php } ?>
		<article <?php post_class("post-item"); ?>>
			<?php the_content(); ?>
			<div class="links">
				<?php echo get_link_items(); ?>
			</div>
		</article>
        <div class="have-toc"></div><div class="toc-container"><div class="toc"></div></div>
	<?php endwhile; ?>
 
<div id="main">
<div class="content content-link-application">
<div class="form-header">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 
<?php if(function_exists('cmp_breadcrumbs')) cmp_breadcrumbs();?>
 
<h1>友链自助申请</h1>
<br/>
<p>✔ 您的网站已稳定运行,且有一定的文章量;</p>
<p>✔ 网站内容一定要健康积极向上,凡内容污秽不堪的、反动反共的都将不会通过申请。</p>
<p>✔ 请在您的网站友情链接中增加本站信息。审核时,未在您的站点中看到本站链接的,审核不予通过。</p>
<p>✔ 如果申请后,长时间未通过审核,有可能是博主太忙未看到,可以通过联系告知我,谢谢~</p>
<p>✔ Email: flurrychan@yahoo.com.hk  QQ: 84562106 ~ </p>
 <br/>
<!--表单开始-->
<form method="post" class="mt20" action="<?php echo $_SERVER["REQUEST_URI"]; ?>" style="margin-bottom:20px; ">
 
<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_description"><font color="red">*</font>  简介:</label>
<input type="text" size="40" value="" class="form-control" id="blink_description" placeholder="请输入简介" name="blink_description" />
</div>
 
<div class="form-group">
<label for="blink_image"><font color="red">*</font>  头像:</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>&nbsp;&nbsp;&nbsp;&nbsp;
<button type="reset" class="btn btn-default">重填</button>
(提示:带有<font color="red">*</font>,表示必填项~)
</div>
</form>
<!--表单结束-->
 
<?php endwhile; else: ?>
<?php endif; ?>
</div>
</div>
</div>
<?php get_footer(); ?>

直接复制,取代Sakura主题目录中的page-links.php 即可