-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專(zhuān)題列表 > 正文
wordpress報(bào)名插件(wordpress網(wǎng)校插件)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于wordpress報(bào)名插件的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶(hù)端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶(hù)遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、如何利用WordPress創(chuàng)建自定義注冊(cè)表單插件
WordPress默認(rèn)的注冊(cè)表單僅由兩個(gè)字段組成—-用戶(hù)名和郵箱。
這個(gè)僅有的用戶(hù)名和郵箱表單字段使得注冊(cè)速度非常的簡(jiǎn)單。首先,你輸入一個(gè)用戶(hù)名,然后輸入郵箱,這個(gè)郵箱就是用來(lái)接收密碼的。接下來(lái),你使用郵箱接收到的密碼登陸站點(diǎn),并且完成個(gè)人資料,把密碼修改成簡(jiǎn)單易記得。
僅僅是在站點(diǎn)注冊(cè),而不是讓用戶(hù)區(qū)經(jīng)歷這些壓力,那為什么除了用戶(hù)名和郵箱之外,不提供一個(gè)直接的、包含一些額外重要的表單字段,例如密碼、個(gè)人的URL、個(gè)人簡(jiǎn)介、昵稱(chēng)和他們的姓名的注冊(cè)表單供用戶(hù)使用呢?
這對(duì)于像Tuts+的多用戶(hù)網(wǎng)站是非常有用的。
在這篇文章中,我們將使用下列的表單字段建立一個(gè)自定義的表單注冊(cè)插件:
username
password
website URL
first name
last name
nickname
biography (or an about section)
這個(gè)自定義表單插件可以通過(guò)使用短代碼和聯(lián)系模板整合到WordPress中。
利用短代碼模板,你可以在你的站點(diǎn)中創(chuàng)建一個(gè)正式的注冊(cè)頁(yè)面。你也可以再一篇發(fā)表的文章中是用短代碼模板,這樣用戶(hù)就可以在閱讀完你的文章之后進(jìn)行注冊(cè)。
如果你想添加一個(gè)注冊(cè)表單在你網(wǎng)站側(cè)邊欄的某個(gè)具體位置,你可以對(duì)WordPress主題中僅僅期望放置標(biāo)簽?zāi)0宓奈恢眠M(jìn)行編輯,來(lái)創(chuàng)建需要的注冊(cè)表單。
在創(chuàng)建之前,需要注意的是,用戶(hù)名、密碼和電子郵件字段是必需的。
當(dāng)我們編寫(xiě)驗(yàn)證函數(shù)時(shí),我們將強(qiáng)制執(zhí)行這些規(guī)則。
構(gòu)建插件
正如說(shuō)的那樣,我們開(kāi)始對(duì)插件編碼。首先,包含插件的頭部:
<?php
/*
Plugin Name: Custom Registration
Plugin URI: http://code.tutsplus.com
Description: Updates user rating based on number of posts.
Version: 1.0
Author: Agbonghama Collins
Author URI: http://tech4sky.com
*/
接下來(lái),我們創(chuàng)建一個(gè)包含注冊(cè)表單的HTML代碼的PHP函數(shù):
function registration_form( $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio ) {
echo '
<style>
div {
margin-bottom:2px;
}
input{
margin-bottom:4px;
}
</style>
';
echo '
<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
<div>
<label for="username">Username <strong>*</strong></label>
<input type="text" name="username" value="' . ( isset( $_POST['username'] ) ? $username : null ) . '">
</div>
<div>
<label for="password">Password <strong>*</strong></label>
<input type="password" name="password" value="' . ( isset( $_POST['password'] ) ? $password : null ) . '">
</div>
<div>
<label for="email">Email <strong>*</strong></label>
<input type="text" name="email" value="' . ( isset( $_POST['email']) ? $email : null ) . '">
</div>
<div>
<label for="website">Website</label>
<input type="text" name="website" value="' . ( isset( $_POST['website']) ? $website : null ) . '">
</div>
<div>
<label for="firstname">First Name</label>
<input type="text" name="fname" value="' . ( isset( $_POST['fname']) ? $first_name : null ) . '">
</div>
<div>
<label for="website">Last Name</label>
<input type="text" name="lname" value="' . ( isset( $_POST['lname']) ? $last_name : null ) . '">
</div>
<div>
<label for="nickname">Nickname</label>
<input type="text" name="nickname" value="' . ( isset( $_POST['nickname']) ? $nickname : null ) . '">
</div>
<div>
<label for="bio">About / Bio</label>
<textarea name="bio">' . ( isset( $_POST['bio']) ? $bio : null ) . '</textarea>
</div>
<input type="submit" name="submit" value="Register"/>
</form>
';
}
請(qǐng)注意注冊(cè)字段是作為變量傳遞給上面的函數(shù)。在函數(shù)中,你會(huì)看到下面代碼的示例:
( isset( $_POST['lname'] ) ? $last_name : null )
這個(gè)三元操作符是檢查全局變量數(shù)組$_POST是否包含數(shù)據(jù),如果有數(shù)據(jù),就把填充的表單字段值保存以便進(jìn)入下一個(gè)字段。
除非你驗(yàn)證了表單數(shù)據(jù)并且清空了表單數(shù)據(jù),一個(gè)注冊(cè)表單才能算完成,否則就不算。因此,我們要?jiǎng)?chuàng)建一個(gè)名為 registration_validation的表單驗(yàn)證函數(shù)。
為了簡(jiǎn)化驗(yàn)證的”痛苦”,我們可以使用WordPress中的 WP_Error 類(lèi)。跟著我編寫(xiě)驗(yàn)證函數(shù):
1、創(chuàng)建函數(shù),并將注冊(cè)表單的字段值作為函數(shù)的參數(shù)傳遞進(jìn)來(lái)
function registration_validation( $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio ) {
2、實(shí)例化 WP_Error 類(lèi),并把實(shí)例作為全局變量,以便于我們可以再函數(shù)的作用域之外使用。
global $reg_errors;
$reg_errors = new WP_Error;
3、記?。何覀冋f(shuō)的用戶(hù)名、密碼和電子郵件是必填的,不要忽略了。為了執(zhí)行這個(gè)規(guī)則,我們需要檢查它們中任何一個(gè)是否為空。如果為空,我們就將錯(cuò)誤信息追加給 WP_Error 類(lèi)的實(shí)例。
if ( empty( $username ) || empty( $password ) || empty( $email ) ) {
$reg_errors->add('field', 'Required form field is missing');
}
4、我們也可以確保用戶(hù)名的字符個(gè)數(shù)不小于4
if ( 4 > strlen( $username ) ) {
$reg_errors->add( 'username_length', 'Username too short. At least 4 characters is required' );
}
5、檢查用戶(hù)名是否被注冊(cè)了
if ( username_exists( $username ) )
$reg_errors->add('user_name', 'Sorry, that username already exists!');
6、利用WordPress的 validate_username 函數(shù)確保用戶(hù)名是可用的
if ( ! validate_username( $username ) ) {
$reg_errors->add( 'username_invalid', 'Sorry, the username you entered is not valid' );
}
7、確保用戶(hù)輸入的密碼的字符個(gè)數(shù)不小于5
if ( 5 > strlen( $password ) ) {
$reg_errors->add( 'password', 'Password length must be greater than 5' );
}
8、檢查電子郵件是否有效
if ( !is_email( $email ) ) {
$reg_errors->add( 'email_invalid', 'Email is not valid' );
}
9、檢查電子郵件是否被注冊(cè)
if ( !is_email( $email ) ) {
$reg_errors->add( 'email_invalid', 'Email is not valid' );
}
10.、如果用戶(hù)填寫(xiě)了網(wǎng)站字段,需要檢查其是否有效
if ( ! empty( $website ) ) {
if ( ! filter_var( $website, FILTER_VALIDATE_URL ) ) {
$reg_errors->add( 'website', 'Website is not a valid URL' );
}
}
11、最后,我們?cè)赪P_Error實(shí)例中對(duì)錯(cuò)誤進(jìn)行循環(huán),并顯示個(gè)別的錯(cuò)誤
if ( is_wp_error( $reg_errors ) ) {
foreach ( $reg_errors->get_error_messages() as $error ) {
echo '<div>';
echo '<strong>ERROR</strong>:';
echo $error . '<br/>';
echo '</div>';
}
}
這樣,驗(yàn)證函數(shù)就完成了。接下來(lái)是 complete_registration()函數(shù),用于處理用戶(hù)注冊(cè)。用戶(hù)的注冊(cè)真正完成是通過(guò)wp_insert_user函數(shù),
用戶(hù)的數(shù)據(jù)作為數(shù)據(jù)保存后可以作為此函數(shù)的參數(shù)。
function complete_registration() {
global $reg_errors, $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio;
if ( 1 > count( $reg_errors->get_error_messages() ) ) {
$userdata = array(
'user_login' => $username,
'user_email' => $email,
'user_pass' => $password,
'user_url' => $website,
'first_name' => $first_name,
'last_name' => $last_name,
'nickname' => $nickname,
'description' => $bio,
);
$user = wp_insert_user( $userdata );
echo 'Registration complete. Goto <a href="' . get_site_url() . '/wp-login.php">login page</a>.';
}
}
在上面的函數(shù)中,我們將$reg_errors作為WP_Error的實(shí)例,并將表單字段作為全局變量以便于可以再全局作用域中使用。
我們需要檢查$reg_errors是否包含任何錯(cuò)誤,如果沒(méi)有錯(cuò)誤,則將用戶(hù)注冊(cè)信息插入到WordPress的數(shù)據(jù)庫(kù)并用登陸鏈接來(lái)顯示注冊(cè)完成的信息。
然后,把所有我們之前創(chuàng)建的函數(shù)全部放在全局函數(shù) custom_registration_function()之中
function custom_registration_function() {
if ( isset($_POST['submit'] ) ) {
registration_validation(
$_POST['username'],
$_POST['password'],
$_POST['email'],
$_POST['website'],
$_POST['fname'],
$_POST['lname'],
$_POST['nickname'],
$_POST['bio']
);
// sanitize user form input
global $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio;
$username = sanitize_user( $_POST['username'] );
$password = esc_attr( $_POST['password'] );
$email = sanitize_email( $_POST['email'] );
$website = esc_url( $_POST['website'] );
$first_name = sanitize_text_field( $_POST['fname'] );
$last_name = sanitize_text_field( $_POST['lname'] );
$nickname = sanitize_text_field( $_POST['nickname'] );
$bio = esc_textarea( $_POST['bio'] );
// call @function complete_registration to create the user
// only when no WP_error is found
complete_registration(
$username,
$password,
$email,
$website,
$first_name,
$last_name,
$nickname,
$bio
);
}
registration_form(
$username,
$password,
$email,
$website,
$first_name,
$last_name,
$nickname,
$bio
);
}
我需要說(shuō)明一下全局函數(shù) custom_registration_function()中有哪些代碼。
首先,我通過(guò)檢查$_POST['submit']是否是空來(lái)確定表單是否提交。如果提交了,我就調(diào)用
registration_validation()函數(shù)來(lái)驗(yàn)證用戶(hù)提交的表單.
然后,確保表單數(shù)據(jù)的有效性并將有效的數(shù)據(jù)在表單字段域之后用一個(gè)變量命名。最后,調(diào)用
complete_registration()函數(shù)保存用戶(hù)。我需要調(diào)用registration_form()函數(shù)來(lái)顯示用戶(hù)注冊(cè)表單。
我之前提到過(guò),我打算用短代碼模板來(lái)支持注冊(cè)插件。下面就是短代碼模的支持代碼:
// Register a new shortcode: [cr_custom_registration]
add_shortcode( 'cr_custom_registration', 'custom_registration_shortcode' );
// The callback function that will replace [book]
function custom_registration_shortcode() {
ob_start();
custom_registration_function();
return ob_get_clean();
}
到這里為止,我們已經(jīng)完成了插件
二、wordpress插件
就像超人奧特曼能通過(guò)合體使自己變得更加強(qiáng)大一樣,wordpress能通過(guò)安裝插件使自己變得更加強(qiáng)大。wordpress插件可以讓wordpress幾乎可以完成你能夠想象得到的所有功能,統(tǒng)計(jì)分析、SEO、緩存、備份、分頁(yè)、相關(guān)文章、投標(biāo)……在wordpress官方插件庫(kù)中有一萬(wàn)多款插件可供選擇,而您需要做的就是,在插件庫(kù)中搜索您想要的功能的關(guān)鍵詞,找到后安裝,安裝完成后就可以馬上享用這些功能強(qiáng)大的插件了。本文將向您展示。有三種途徑可以實(shí)現(xiàn)安裝wordpress插件,分別是本地安裝、在線安裝、復(fù)制插件到插件目錄,其中前兩種都是通過(guò)在博客后臺(tái)操作完成,第三種就直接在操作系統(tǒng)下進(jìn)行,下面是三種安裝wordpress插件的詳細(xì)步驟。 1.本地安裝 這種方式適用于您已經(jīng)下載了喜歡的wordpress插件到本機(jī)的情況,進(jìn)入后臺(tái),打開(kāi)插件管理面板,點(diǎn)擊添加新插件,接著再點(diǎn)擊上傳,選擇您要安裝的wordpress插件(壓縮文件zip格式),點(diǎn)擊現(xiàn)在安裝按鈕,安裝完成后啟用就可以了。-插件管理面板 -上傳附件安裝 -安裝過(guò)程 2.在線安裝 通過(guò)功能關(guān)鍵字直接搜索wordpress插件庫(kù)進(jìn)行選擇安裝。-插件類(lèi)型 -插件列表 3.復(fù)制安裝 把您下載的插件壓縮文件解壓后,復(fù)制到wordpress博客安裝目錄下的pluins目錄下,例如:D:\xampp\htdocs\wordpress\wp-content\plugins,然后到插件面板刷新一下,就可以看到該插件,啟用它。-復(fù)制插件安裝 您可以下載的視頻錄像教程。
三、怎么使用wordpress中的插件
手動(dòng)安裝插件需要知道wordpress插件目錄在網(wǎng)站根目錄的/wp-content/plugins文件夾下,只需要將zip的插件放到這個(gè)文件夾并解壓即可。
下載一個(gè)叫做duoshuo.zip的插件,使用FTP工具將它上傳到/wp-content/plugins目錄
登錄虛擬主機(jī)的面板,使用文件管理器找到該插件,點(diǎn)擊解壓即可完成安裝。然后在后臺(tái)>>插件>>已安裝插件,就可以找到了。
四、現(xiàn)在有哪些必備的 wordpress 插件
WordPress擁有各種各樣的插件,這些插件極大的擴(kuò)展了Wordpress的功能。但面對(duì)眾多的插件,我們需要哪些、不需要哪些呢?下面是我安裝插件的一些經(jīng)驗(yàn)介紹,僅供參考。
1.Akismet
在我的 WordPress 3.01 個(gè)人使用記錄 這篇博文中已經(jīng)提及該插件,這里再介紹下。Akismet是Automattic公司的一個(gè)專(zhuān)注于剿殺垃圾評(píng)論的產(chǎn)品,由于當(dāng)前垃圾評(píng)論泛濫,啟用該插件是非常必要的,因此它已被集成到了Wordpress系統(tǒng)中。
該插件不需要你設(shè)置什么,因?yàn)樗睦^(guò)濾是通過(guò)Akismet服務(wù)器完成的,你所要做的是啟用該插件,并在 工具– Akismet設(shè)置 里申請(qǐng)一個(gè)Key,并提交。
2. Google XML Sitemaps
Sitemaps即網(wǎng)站地圖。Google XML Sitemaps插件是WordPress官方推薦的插件。當(dāng)你發(fā)表或修改博客內(nèi)容后,它將為你的WordPress博客自動(dòng)創(chuàng)建/更新Google Sitemap格式的XML,它支持所有的WordPress發(fā)表的內(nèi)容,以及自定制。注意其這條提示:如果你 Blog 或服務(wù)器更新了某些東西,你應(yīng)該手動(dòng)重建sitemap。不過(guò)在下面“基本設(shè)置–建立模式”里可以設(shè)置為“在你更改了 Blog 內(nèi)容后重建 sitemap”,這樣就不需要手工重建了,默認(rèn)也是選中的。你還可以設(shè)置更新通知、sitemap內(nèi)容、日志優(yōu)先級(jí)、評(píng)論等其它內(nèi)容。
Sitemap是所有主要的搜索引擎支持的協(xié)議,創(chuàng)建并提交Sitemap有助于提高搜索引擎收錄率,包括搜索引擎鏈接爬取過(guò)程都無(wú)法找到的網(wǎng)址。Sitemap 還會(huì)向搜索引擎提供有關(guān)您網(wǎng)站的其他信息。Sitemap 可幫助搜索引擎更及時(shí)地抓取網(wǎng)站內(nèi)容,但不能保證 Sitemap 中的網(wǎng)址會(huì)被 Google 索引。該插件在 設(shè)置–XML Sitemap。
3. All in one seo pack
頗具爭(zhēng)議的一款軟件,一方面有人說(shuō)其強(qiáng)大的功能,一方面有人說(shuō)其嚴(yán)重的負(fù)面影響。我覺(jué)得在對(duì)修改主題有了一定了解后,停用該插件,自己做點(diǎn)SEO比較合適。該插件的最主要功能是設(shè)置標(biāo)題的格式、添加keywords、description標(biāo)簽。注意在發(fā)布文章時(shí),要在其設(shè)置區(qū)域設(shè)置文章標(biāo)題、描述、關(guān)鍵詞等內(nèi)容。也有WP友推薦Platinum SEO Pack這款替代型插件。SEO Title Tag 也是一款seo插件,可以讓每篇文章都含有相應(yīng)的關(guān)鍵詞和描述。
關(guān)于為什么要停用All in one seo pack,停用后怎么自己做SEO,以及我個(gè)人遇到的問(wèn)題及解決方法,請(qǐng)看我的另一篇文章:關(guān)于停用All in one seo pack后分類(lèi)頁(yè)面description描述出錯(cuò)的問(wèn)題
4. WordPress Database Backup
眾多博友認(rèn)為必備的一款插件,可以非常靈活的實(shí)現(xiàn)博客數(shù)據(jù)庫(kù)的備份。你可以把備份保留在服務(wù)器,也可以下載到本地,還可以直接發(fā)送到你的郵箱。此外,還可以設(shè)置定時(shí)備份:按時(shí)、天、周備份,并發(fā)送到你的郵箱。
5. Simple tags
Simple Tags是一個(gè)Tags管理插件,可以實(shí)現(xiàn)自動(dòng)推薦標(biāo)簽、標(biāo)簽管理(重命名、刪除、合并、添加等)、批量編輯等。
6.WP-Postviews
日志瀏覽統(tǒng)計(jì)插件,可以統(tǒng)計(jì)每篇日志被瀏覽的次數(shù),這樣就可以實(shí)現(xiàn)博客日志流量 Top 10 等功能,非常方便和強(qiáng)大。最新版的 Postviews 還支持緩存,在你的博客使用 WP Super Cache 等緩存插件緩存之后,它照樣還可以進(jìn)行統(tǒng)計(jì)。該插件需要你對(duì)主題代碼進(jìn)行修改。安裝后,在“設(shè)置 > Postviews 配置”。
7.Pagenavi
由于Wordpress自帶的翻頁(yè)非常簡(jiǎn)單,所以一般都選擇使用一款翻頁(yè)插件。Pagenavi是知名度很高的翻頁(yè)插件,同類(lèi)插件還有pagebar??梢宰詣?dòng)插入也可以手動(dòng)插入,不過(guò)有些主題中已經(jīng)自帶或集成了翻頁(yè)功能,要注意避免沖突。
8. My Page Order、My Category Order、My Link Order
分別是頁(yè)面排序、分類(lèi)排序、鏈接排序插件,比較簡(jiǎn)單。Wordpress沒(méi)有自帶這些排序功能,故使用這三個(gè)插件還是有必要的。當(dāng)你頁(yè)面、分類(lèi)、鏈接已經(jīng)固定后,你就可以禁用這三個(gè)插件了。
9.Subscribe to Comments
Subscribe to Comments 是一個(gè)非常受歡迎的插件,它使得評(píng)論者可通過(guò) e-mail 來(lái)接收文章有新評(píng)論的提醒。這個(gè)插件包括功能完整的評(píng)論訂閱管理器,評(píng)論者可以取消對(duì)某文章的訂閱,屏蔽所有訂閱的提醒,甚至包括改變接收提醒信息的 email 地址,可以使得你的讀者堅(jiān)持參加他感興趣的話題來(lái)增加你的博客的社區(qū)化!在“設(shè)置-Subscribe to Comments ”里進(jìn)行設(shè)置,包括改變提示文本等。
以上就是關(guān)于wordpress報(bào)名插件相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢(xún),客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
個(gè)人簡(jiǎn)歷word模板(個(gè)人簡(jiǎn)歷word模板表格)
手機(jī)上編輯word文檔(手機(jī)上怎么編輯word文檔)
手機(jī)版word免費(fèi)版去哪下載(手機(jī)版word免費(fèi)版去哪下載文件)
大同景點(diǎn)排行榜(山西大同景點(diǎn)排行榜)