WordPress通過插件/代碼隱藏文章內容 需登錄或輸入密碼可見-分享網

WordPress相關的文章指尖分享網分享得不是很多,但基本都是精品,很多都是使用簡短的代碼來實現的,並且基本都是指尖自己正在使用或親身體驗過。其實指尖分享WordPress小技巧文章的主要原因有兩個:一是方便大家,二是方便自己日後使用時可以查找。WordPress做爲全球使用用戶最多的博客程序,主要原因是因爲程序開源,開源的好處是任何人都能在基礎程序上進行二次開發,從而造就了有海量插件可以使用。

相信很多同學在一些博客當中看到有些內容需要登錄後、回覆後或輸入密碼後才能看到,是不是覺得很有意思,可以相對的增加與訪客的互動,特別是加密後輸入密碼可見可以上部分內容只針對特點人羣開放。在此文章中指尖將爲大家分享如何通過插件或代碼來隱藏WordPress文章部分內容,讓用戶登錄或輸入密碼後才能看見。

方法一:插件

首先指尖推薦一款小巧的插件—Login to view all,來實現使隱藏WordPress文章部分內容,讓用戶登錄後可見。用插件的還出是簡單便捷,只需下載插件並上傳安裝好啓用即可。

插件下載地址:

點擊文字查看效果以及教程:Login to view all文章隱藏內容登陸查看插件下載與教程

插件版優缺點:

使用插件版後,如果不想使用插件了,我們屏蔽插件後,原先文章內隱藏的內容會直接消失掉。這個缺點很致命,要用此插件就要決定長期使用下去。優點是與CDN加速兼容性較好,不會存在登錄不顯示內容的現象。

方法二:代碼

指尖個人更傾向於使用代碼,這裏爲大家分享三種方法,最後一種是實現輸入密碼後才能顯示。與插件版相比,代碼版優缺點也是各半,大家自己斟酌選擇。

代碼版優缺點:優點是與插件版相比,我們不想使用此功能時,取消相應代碼,原先隱藏的內容會正常顯示。缺點是與CDN加速兼容較差,會被緩存,如果你的站點開啓了CDN加速,會出現登錄也無法顯示內容的情況。

1、簡單版

在主題的functions.php文件添加以下代碼:

//部分內容登錄可見 指尖分享網 — www.0fxw.com
add_shortcode('hide','loginvisible');
function loginvisible($atts,$content=null){
	if(is_user_logged_in() && !is_null($content) && !is_feed())
	return $content;
	return '';
}

如何實現?在編輯文章是使用短碼包圍要隱藏的內容,如:(把下面中文括號改爲英文括號【】→[])

[hide]
登陸纔可以看到的內容
[/hide]

是不是很簡單,這裏指尖暫時先分享個文章登錄可見的的方法,下次會分享關於wordpress回覆可見的方法!

2、美化版

在主題function.php文件里加入以下代碼。其中可用於直接將href=”#respond”後的“#respond”替換爲自己站點的登錄地址,以方便用戶快速登錄。

//部分內容登錄可見 指尖分享網 — www.0fxw.com
function login_to_read($atts, $content=null) {
extract(shortcode_atts(array("notice" => '
<span style="color: red;">溫馨提示:</span>此處內容需要<a title="登錄後可見" href="#respond">登錄</a>後才能查看!
'), $atts));
if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
 return $content;
 return $notice;
}
add_shortcode('vip', 'login_to_read');

 

如何實現?在編輯文章是使用短碼包圍要隱藏的內容,下面列舉的是兩種方式,我們任選一種即可。

[vip]我是被隱藏的內容,樣式一(默認樣式)[/vip]
[vip] notice="登錄後才顯示喲"]我是被隱藏的內容,樣式二(自定義回覆信息)[/vip]

3、輸入密碼顯示

首先在主題functions.php文件中添加下面代碼。

//部分內容輸入密碼可見 指尖分享網 — www.0fxw.com
function e_secret($atts, $content=null){
 extract(shortcode_atts(array('key'=>null), $atts));
 if(isset($_POST['e_secret_key']) && $_POST['e_secret_key']==$key){
 return '
<div class="e-secret">'.$content.'</div>
';
 }
 else{
 return '
<form class="e-secret" action="'.get_permalink().'" method="post" name="e-secret"><label>輸入密碼查看加密內容:</label><input type="password" name="e_secret_key" class="euc-y-i" maxlength="50"><input type="submit" class="euc-y-s" value="確定">
<div class="euc-clear"></div>
</form>
';
 }
}
add_shortcode('secret','e_secret');

第二步到在自己主題main.css樣式文件裏添加下面代碼。

/*e-secret*/
.e-secret {
 margin: 20px 0;
 padding: 20px;
 background: #f8f8f8;
}
.e-secret input.euc-y-i[type="password"] {
 float: left;
 background: #fff;
 width: 100%;
 line-height: 36px;
 margin-top: 5px;
 border-radius: 3px;
}
.e-secret input.euc-y-s[type="submit"] {
 float: right;
 margin-top: -47px;
 width: 30%;
 margin-right: 1px;
 border-radius: 0 3px 3px 0;
}
input.euc-y-s[type="submit"]{background-color:#3498db;color:#fff;font-size:21px;box-shadow:none;-webkit-transition: .4s;-moz-transition: .4s;-o-transition: .4s;transition:.4s;-webkit-backface-visibility:hidden;position:relative;cursor:pointer;padding: 13px 20px;text-align: center;border-radius: 50px;-webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;border: 0;height: auto;outline: medium;line-height: 20px;margin: 0;}
input.euc-y-s[type="submit"]:hover{background-color:#5dade2;}
input.euc-y-i[type="text"],input.euc-y-i[type="password"]{border:1px solid #F2EFEF;color:#777;display:block;background: #FCFCFC;font-size:18px;transition:all .5s ease 0;outline:0;box-sizing:border-box;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;padding:5px 16px; margin: 0;height: auto;line-height: 30px;}
input.euc-y-i[type="text"]:hover,input.euc-y-i[type="password"]:hover{border:1px solid #56b4ef;box-shadow:0 0 4px #56b4ef;}

如何實現?在編輯文章是使用短碼包圍要隱藏的內容,如下即可。

[secret key="密碼"]
加密內容
[/secret]

本文來自:分享網

本文原網址:http://0fxw.com/274.html

插件下載地址:http://0fxw.com/276.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章