WordPress實現投稿功能

2022-10-05 10:00:26 字數 2668 閱讀 7058

很多**都想開放讀者的投稿功能,接受讀者的投稿,不僅可以豐富部落格的內容,還可以增加與讀者之間的溝通,可以說是一舉多得的事情,何樂不為呢?wordpress本身並不提供投稿功能,但是wordpress擁有強大的擴充套件能力,我們可以自己來新增這個功能。

實現使用者投稿,有兩種方法,一種是開放後台的註冊功能,普通使用者註冊進去預設為投稿者,登陸進去即可新增文章(預設為草稿);另一種方法是在前台提供投稿表單,使用者填寫相應的**即可。前一種方法實現起來比較簡單,基本不需要博主配置太多東西,只是有些博主可能會覺得彆扭,不願讓他人看到自己的部落格後台;而後一種方法對投稿者來說方便了很多,博主也不用擔心自己部落格的後台隱私,只是該方法實現起來比較麻煩,需要配置的東西很多。本文也只將介紹後一種方法,希望對你有所幫助。

一、新增投稿表單

1、首先在當前主題的目錄下新建乙個php檔案,命名為tougao-page.php,然後將page.php中的所有**複製到tougao-page.php中;

2、刪除tougao-page.php開頭的所有注釋,即 /* 與 */ ,以及它們之間的所有內容;

3、將 <?php the_content(); ?> 改成以下**:

<?php the_content(); ?>

tfzwsa

二、新增表單處理**

在tougao-page.php中,將第乙個 <?php 改成:

<?php

/* * template name: tougao

* @author: ludou  

* @email : [email protected]

* @blog  :

*/   

if( isset($_post['tougao_form']) && $_post['tougao_form'] == 'send')

// 表單變數初始化

$name = isset( $_post['tougao_authorname'] ) ? trim(htmlspecialchars($_post['tougao_authorname'], ent_quotes)) : '';

$email =  isset( $_post['tougao_authoremtfzwsaail'] ) ? 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 )

if ( empty($email) || strlen($email) > 60 || !preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]$/ix", $email))

if ( empty($title) || strlen($title) > 100 )

if ( empty($content) || strlen($content) > 3000 || strlen($content) < 100)

$post_content = '暱稱: '.$name.'

email: '.$email.'

blog: '.$blog.'

內容:'.$content;

$tougao = array(

'post_title' => $title,

'post_content' => $post_content,

'post_category' => array($category)

);// 將文章插入資料庫

$status = wp_insert_post( $tougao );

if ($status != 0)

else

}

**補充說明,如果你想讓讓投稿的文章立即發布,而不需要審核再編輯,那麼請將以上**45行改成:

'post_content' => $post_content, 'post_status' => 'publish',

最後進入wordpress管理後台 – 頁面 – 建立頁面,標題為投稿(可以自己起名),內容填上投稿說明等,右側可以選擇模板,選擇 tougao 即可好了,基本的投稿功能已經新增完畢,至於表單樣式不好看,表單缺少你想要的專案等問題,你就自己新增css、表單項吧。

文章**:wordpress-add-contribute-page.html

本文標題: wordpress實現投稿功能

本文位址:

wordpress增加投稿者上傳許可權

使用文字編輯器開啟當前主題目錄下的functions.php,新增以下 即可 if current user can contributor current user can upload files add action admin init allow contributor uploads f...

實現wordpress麵包屑導航的功能

麵包屑對於乙個 來說,相當於是頁面結構的乙個導航,是網頁導航設計中乙個標準設計模式,而今天我們講的是如何通過 來實現wordpress麵包屑導航的功能,本站的老訪客都知道,用wordpress主題的時候十分的不喜歡用外掛程式,儘管很方便,但會降低 的開啟速度!教程開始了 可自定義所有的判斷選項 fu...

WordPress新增前台註冊功能

1 首先在當前主題的目錄下新建乙個php檔案,命名為reg page.php,然後將page.php中的所有 複製到reg page.php中 2 刪除reg page.php開頭的所有注釋,即 與 以及它們之間的所有內容 3 搜尋 the content,可以查詢到類似 將這段 替換成 一 注意使...