wordpress怎樣實現投稿功能?

 wordpress怎樣實現投稿功能呢?接觸wordpress程序的朋友,大概都瞭解,wordpress程序本身並不提供投稿功能,那麼有沒有什麼辦法可以實現投稿功能呢?

 
在這之前,也許有人會問,爲什麼要給wordpress增加投稿功能呢?這不閒着沒事嗎?其實,對於剛寫博客的新手朋友來說,這點的確不適宜。但是,對於開通獨立博客多年的博主,他們的博客已積累了很多用戶,資源也比較豐富,這個時候,單靠博主一個人的力量,已不能滿足讀者用戶的需求。這個時候,就需要博主和讀者互動,大家一起努力,才能取得更快、更大的進步。特別是對於使用wordpress程序搭建新聞或者信息類網站的站長來說,投稿這個功能是必須的。
 
給wordpress增加投稿功能,一方面可以加快博客更新的頻率,豐富博客的內容,另一方面還可以促進你(作爲博主)與讀者之間的交流或互動。讀者有什麼問題,也可以發表自己的看法,博主也會盡力解決,可以說是一舉多得的事情,何樂不爲呢?說了這麼多,那麼到底怎樣給wordpress增加投稿功能呢?思源下面給大家分享兩種方方法,有興趣的朋友可以試試。
 
第一種方法:開放wordpress博客程序後臺的註冊功能
 
進入wordpress博客程序後臺,按"設置——常規——面板右側的成員資格一欄中勾選【任何人都可以註冊】前面的複選框,然後在新用戶默認角色一欄後面的下拉列表上點選【投稿者】",然後保存更改,這樣就設置好了。如果有人想給你的博客投稿的話,只需要註冊,成爲你的博客用戶,就可以進博客後臺投稿了。【當然了,因爲他是投稿者,只有投稿者的權限,所以你不必擔心他會操作其他項】。
 
第二種方法:單獨增加一個投稿頁面,添加php代碼,實現投稿功能。【這個方法建議熟練php程序代碼的朋友使用】
 
第一步:添加投稿表單
 
1、首先在當前主題的目錄下新建一個php文件,命名爲tougao-page.php,然後將page.php中的所有代碼複製到tougao-page.php中;
 
2、刪除tougao-page.php開頭的所有註釋,即 /* 與 */ ,以及它們之間的所有內容;
 
3、將 <?php the_content(); ?> 改成以下代碼:
 
<?php the_content(); ?>
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
<div style="text-align: left; padding-top: 10px;">
<label>暱稱:*</label>
</div>
<div>
<input type="text" size="40" value="" name="tougao_authorname" />
</div>
<div style="text-align: left; padding-top: 10px;">
<label>E-Mail:*</label>
</div>
<div>
<input type="text" size="40" value="" name="tougao_authoremail" />
</div>
 
<div style="text-align: left; padding-top: 10px;">
<label>您的博客:</label>
</div>
<div>
<input type="text" size="40" value="" name="tougao_authorblog" />
</div>
<div style="text-align: left; padding-top: 10px;">
<label>文章標題:*</label>
</div>
<div>
<input type="text" size="40" value="" name="tougao_title" />
</div>
 
<div style="text-align: left; padding-top: 10px;">
<label>分類:*</label>
</div>
<div style="text-align: left;">
<?php wp_dropdown_categories('show_count=1&hierarchical=1'); ?>
</div>
 
<div style="text-align: left; padding-top: 10px;">
<label>文章內容:*</label>
</div>
<div>
<textarea rows="15" cols="55" name="tougao_content"></textarea>
</div>
 
<br clear="all">
<div style="text-align: center; padding-top: 10px;">
<input type="hidden" value="send" name="tougao_form" />
<input type="submit" value="提交" />
<input type="reset" value="重填" />
</div>
</form>
 
第二步:添加表單處理代碼
 
在tougao-page.php中,將第一個 <?php 改成:
 
<?php
/*
* Template Name: tougao
* @author: Ludou
* @Blog  : http://www.ludou.org/
*/
if( isset($_POST['tougao_form']) && $_POST['tougao_form'] == 'send')
{
if ( isset($_COOKIE["tougao"]) && ( time() - $_COOKIE["tougao"] ) < 120 )
{
wp_die('您投稿也太勤快了吧,先歇會兒!');
}
// 表單變量初始化
$name = isset( $_POST['tougao_authorname'] ) ? trim(htmlspecialchars($_POST['tougao_authorname'], ENT_QUOTES)) : '';
$email =  isset( $_POST['tougao_authoremail'] ) ? trim(htmlspecialchars($_POST['tougao_authoremail'], ENT_QUOTES)) : '';
$blog =  isset( $_POST['tougao_authorblog'] ) ? trim(htmlspecialchars($_POST['tougao_authorblog'], ENT_QUOTES)) : '';
$title =  isset( $_POST['tougao_title'] ) ? trim(htmlspecialchars($_POST['tougao_title'], ENT_QUOTES)) : '';
$category =  isset( $_POST['cat'] ) ? (int)$_POST['cat'] : 0;
$content =  isset( $_POST['tougao_content'] ) ? trim(htmlspecialchars($_POST['tougao_content'], ENT_QUOTES)) : '';
// 表單項數據驗證
if ( empty($name) || strlen($name) > 20 )
{
wp_die('暱稱必須填寫,且長度不得超過20字');
}
if ( empty($email) || strlen($email) > 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}
$/ix", $email))
{
wp_die('Email必須填寫,且長度不得超過60字,必須符合Email格式');
}
if ( empty($title) || strlen($title) > 100 )
{
wp_die('標題必須填寫,且長度不得超過100字');
}
if ( empty($content) || strlen($content) > 3000 || strlen($content) < 100)
{
wp_die('內容必須填寫,且長度不得超過3000字,不得少於100字');
}
$post_content = '暱稱: '.$name.'<br />Email: '.$email.'<br />blog: '.$blog.'<br />內容:'.$content;
$tougao = array(
'post_title' => $title,
'post_content' => $post_content,
'post_category' => array($category)
);
// 將文章插入數據庫
$status = wp_insert_post( $tougao );
 
if ($status != 0)
{
setcookie("tougao", time(), time()+180);
wp_die('投稿成功!感謝投稿!');
}
else
{
wp_die('投稿失敗!');
}
}
 
在這裏補充一點,如果你想讓讓投稿的文章立即發佈出去,而不需要審覈再編輯,那麼請將以上代碼“ 'post_content' => $post_content,”改成:'post_content' => $post_content, 'post_status' => 'publish',最後進入wordpress管理後臺 – 頁面 – 創建頁面,標題爲投稿(可以自己起名),內容填上投稿說明等,右側可以選擇模板,選擇 tougao 即可。基本的投稿功能已經添加完畢,至於表單樣式不好看,表單是否合乎你的意願,可以自己看着更改,自己添加css、表單項。
 
到這裏,給wordpress程序條件投稿功能的兩種方法,思源也給大家分享到這裏,用得着的朋友,趕緊試試吧。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章