我們經(jīng)常在各種論壇上看到“回復后可見隱藏內(nèi)容”的字樣,,這樣既保證了帖子能讓更多人看到,,也可以防止貼文被惡意轉載,。那么在WordPress上如何實現(xiàn)這樣效果呢,?一起來看看吧,。 在functions.php中插入如下代碼:請注意修改其中的Email地址哦,! function reply_to_read($atts,$content=null){ extract(shortcode_atts(array("notice"=>'<span class="reply-to-read">此處內(nèi)容需要<a href="'. get_permalink().'#respond" title="評論本文">評論本文</a>后<a href="javascript:window.location.reload();" title="刷新">刷新本頁</a>才能查看.</span>'),$atts)); $email=null; $user_ID=(int)wp_get_current_user()->ID; if($user_ID>0){ $email = get_userdata($user_ID)->user_email; //如果用戶已登錄,從登錄信息中獲取email }else if(isset($_COOKIE['comment_author_email_'.COOKIEHASH])){ $email=str_replace('%40','@',$_COOKIE['comment_author_email_'.COOKIEHASH]); //如果用戶未登錄但電腦上有本站的Cookie信息,,從Cookie里讀取email }else{ return $notice; //無法獲取email,直接返回提示信息 } if(empty($email)){ return $notice; } global $wpdb; $post_id=get_the_ID(); //文章的ID $query="SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_approved`='1' and `comment_author_email`='{$email}' LIMIT 1"; if($wpdb->get_results($query)){ return $content; //查詢到對應的已經(jīng)審核通過的評論則返回內(nèi)容 }else{ return $notice; //否則返回提示信息 } } add_shortcode('reply', 'reply_to_read'); |
|