HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    wordpress產(chǎn)品列表插件(wordpress產(chǎn)品展示插件)

    發(fā)布時間:2023-04-19 13:01:24     稿源: 創(chuàng)意嶺    閱讀: 149        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于wordpress產(chǎn)品列表插件的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    wordpress產(chǎn)品列表插件(wordpress產(chǎn)品展示插件)

    一、有哪些實(shí)用的WordPress 插件值得推薦

    可以加我好友發(fā)地址給你

    二、如何利用WordPress創(chuàng)建自定義注冊表單插件

    WordPress默認(rèn)的注冊表單僅由兩個字段組成—-用戶名和郵箱。

    這個僅有的用戶名和郵箱表單字段使得注冊速度非常的簡單。首先,你輸入一個用戶名,然后輸入郵箱,這個郵箱就是用來接收密碼的。接下來,你使用郵箱接收到的密碼登陸站點(diǎn),并且完成個人資料,把密碼修改成簡單易記得。

    僅僅是在站點(diǎn)注冊,而不是讓用戶區(qū)經(jīng)歷這些壓力,那為什么除了用戶名和郵箱之外,不提供一個直接的、包含一些額外重要的表單字段,例如密碼、個人的URL、個人簡介、昵稱和他們的姓名的注冊表單供用戶使用呢?

    這對于像Tuts+的多用戶網(wǎng)站是非常有用的。

    在這篇文章中,我們將使用下列的表單字段建立一個自定義的表單注冊插件:

    username

    password

    email

    website URL

    first name

    last name

    nickname

    biography (or an about section)

    這個自定義表單插件可以通過使用短代碼和聯(lián)系模板整合到WordPress中。

    利用短代碼模板,你可以在你的站點(diǎn)中創(chuàng)建一個正式的注冊頁面。你也可以再一篇發(fā)表的文章中是用短代碼模板,這樣用戶就可以在閱讀完你的文章之后進(jìn)行注冊。

    如果你想添加一個注冊表單在你網(wǎng)站側(cè)邊欄的某個具體位置,你可以對WordPress主題中僅僅期望放置標(biāo)簽?zāi)0宓奈恢眠M(jìn)行編輯,來創(chuàng)建需要的注冊表單。

    在創(chuàng)建之前,需要注意的是,用戶名、密碼和電子郵件字段是必需的。

    當(dāng)我們編寫驗(yàn)證函數(shù)時,我們將強(qiáng)制執(zhí)行這些規(guī)則。

    構(gòu)建插件

    正如說的那樣,我們開始對插件編碼。首先,包含插件的頭部:

    <?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

    */

    接下來,我們創(chuàng)建一個包含注冊表單的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>

    ';

    }

    請注意注冊字段是作為變量傳遞給上面的函數(shù)。在函數(shù)中,你會看到下面代碼的示例:

    ( isset( $_POST['lname'] ) ? $last_name : null )

    這個三元操作符是檢查全局變量數(shù)組$_POST是否包含數(shù)據(jù),如果有數(shù)據(jù),就把填充的表單字段值保存以便進(jìn)入下一個字段。

    除非你驗(yàn)證了表單數(shù)據(jù)并且清空了表單數(shù)據(jù),一個注冊表單才能算完成,否則就不算。因此,我們要創(chuàng)建一個名為 registration_validation的表單驗(yàn)證函數(shù)。

    為了簡化驗(yàn)證的”痛苦”,我們可以使用WordPress中的 WP_Error 類。跟著我編寫驗(yàn)證函數(shù):

    1、創(chuàng)建函數(shù),并將注冊表單的字段值作為函數(shù)的參數(shù)傳遞進(jìn)來

    function registration_validation( $username, $password, $email, $website, $first_name, $last_name, $nickname, $bio ) {

    2、實(shí)例化 WP_Error 類,并把實(shí)例作為全局變量,以便于我們可以再函數(shù)的作用域之外使用。

    global $reg_errors;

    $reg_errors = new WP_Error;

    3、記?。何覀冋f的用戶名、密碼和電子郵件是必填的,不要忽略了。為了執(zhí)行這個規(guī)則,我們需要檢查它們中任何一個是否為空。如果為空,我們就將錯誤信息追加給 WP_Error 類的實(shí)例。

    if ( empty( $username ) || empty( $password ) || empty( $email ) ) {

    $reg_errors->add('field', 'Required form field is missing');

    }

    4、我們也可以確保用戶名的字符個數(shù)不小于4

    if ( 4 > strlen( $username ) ) {

    $reg_errors->add( 'username_length', 'Username too short. At least 4 characters is required' );

    }

    5、檢查用戶名是否被注冊了

    if ( username_exists( $username ) )

    $reg_errors->add('user_name', 'Sorry, that username already exists!');

    6、利用WordPress的 validate_username 函數(shù)確保用戶名是可用的

    if ( ! validate_username( $username ) ) {

    $reg_errors->add( 'username_invalid', 'Sorry, the username you entered is not valid' );

    }

    7、確保用戶輸入的密碼的字符個數(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、檢查電子郵件是否被注冊

    if ( !is_email( $email ) ) {

    $reg_errors->add( 'email_invalid', 'Email is not valid' );

    }

    10.、如果用戶填寫了網(wǎng)站字段,需要檢查其是否有效

    if ( ! empty( $website ) ) {

    if ( ! filter_var( $website, FILTER_VALIDATE_URL ) ) {

    $reg_errors->add( 'website', 'Website is not a valid URL' );

    }

    }

    11、最后,我們在WP_Error實(shí)例中對錯誤進(jìn)行循環(huán),并顯示個別的錯誤

    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ù)就完成了。接下來是 complete_registration()函數(shù),用于處理用戶注冊。用戶的注冊真正完成是通過wp_insert_user函數(shù),

    用戶的數(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是否包含任何錯誤,如果沒有錯誤,則將用戶注冊信息插入到WordPress的數(shù)據(jù)庫并用登陸鏈接來顯示注冊完成的信息。

    然后,把所有我們之前創(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

    );

    }

    我需要說明一下全局函數(shù) custom_registration_function()中有哪些代碼。

    首先,我通過檢查$_POST['submit']是否是空來確定表單是否提交。如果提交了,我就調(diào)用

    registration_validation()函數(shù)來驗(yàn)證用戶提交的表單.

    然后,確保表單數(shù)據(jù)的有效性并將有效的數(shù)據(jù)在表單字段域之后用一個變量命名。最后,調(diào)用

    complete_registration()函數(shù)保存用戶。我需要調(diào)用registration_form()函數(shù)來顯示用戶注冊表單。

    我之前提到過,我打算用短代碼模板來支持注冊插件。下面就是短代碼模的支持代碼:

    // 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內(nèi)容分類管理用什么插件?

    不用插件,分類目錄

    四、如何開發(fā)一個WordPress插件

    新建一個插件

    這個部分告訴你怎么把開發(fā)插件的理想變?yōu)楝F(xiàn)實(shí)。

    名稱,文件和地方

    插件名

    你得先想一個名字,并且努力讓它獨(dú)一無二。在 Plugins 或者其他寶貝地方——Google或者百度先驗(yàn)證一下這個名字到底是不是獨(dú)一無二的。另外你的名字得讓別人明白你的插件是干什么的。

    插件文件

    下一步是創(chuàng)建一個PHP文件。按照原文奇怪的邏輯,你得先想好名字。這個名字還得是從插件名衍生過來的(其實(shí)是為你自己辨認(rèn)的)。舉個例子吧,比如說你的插件名字叫 "Fabulous Functionality",你的PHP名字可能是 fabfunc.php。另外不要用漢語拼音(這也是我加的),還要避免重名。人民群眾會把你的插件安裝到一個你也知道的叫wp-content/plugins/的地方,如果名字沖突豈不要悲劇了。

    你也可以選擇把插件分割成幾個文件。 顯而易見一個php文件是必需的,同時還需要圖片、CSS、JavaScript、語言(當(dāng)然也可以沒有)。如果有很多文件,命名一個php和一個文件夾,例如 fabfunc and fabfunc.php。把你所有插件文件放到文件夾里,然后讓你的用戶相信只要把你的整個壓縮包解壓到 wp-content/plugins/就能正常使用你的勞動成果。

    在本文的其余部分,“插件的PHP文件”是指主要插件的PHP文件,無論是在的wp-content/plugins/或子目錄。

    Readme文件

    如果你想將你的插件發(fā)布到http://wordpress.org/extend/plugins/, 你必須在插件包中建立一個標(biāo)準(zhǔn)格式readme.txt文件. 文件格式參見http://wordpress.org/extend/plugins/about/readme.txt.

    主頁

    最好為插件建立一個主頁,以介紹插件的功能、安裝方法、使用說明、適用的WordPress版本、插件更新信息等。

    文件Headers

    現(xiàn)在開始吧,首先讓我們從向PHP主文件中加入一些信息

    標(biāo)準(zhǔn)插件信息

    插件的主文件頂部必須包括一個標(biāo)準(zhǔn)插件信息頭。WordPress通過標(biāo)準(zhǔn)信息頭識別插件的存在,并把她加入到控制面板的插件管理頁面,這樣插件才能激活,載入插件,并運(yùn)行里面的函數(shù);如果沒有信息頭,插件將無法激活和使用。標(biāo)準(zhǔn)信息插件頭的格式為:

    <?php

    /*

    Plugin Name: 插件名

    Plugin URI: 插件的介紹或更新地址

    Description: 插件描述

    Version: 插件版本,例如 1.0

    Author: 插件作者名稱

    Author URI: 插件作者的鏈接

    License: A "Slug" license name e.g. GPL2

    */

    ?>

    標(biāo)準(zhǔn)信息頭至少要包括插件名稱,這樣WordPress才能識別你的插件。其他信息將顯示在控制面板插件管理頁面中。標(biāo)準(zhǔn)插件信息對各行順序沒有要求。

    這樣的升級機(jī)制能夠正確地讀出你的插件版本,建議你選擇一個格式的版本號,不同版本之間,并堅持下去。例如,x.x中或x.x.x或xx.xx.xxx

    注意:文件必須是 UTF-8 格式!

    版權(quán)信息

    通常我們還要在標(biāo)準(zhǔn)信息頭中加入插件的許可證信息。大多數(shù)插件使用GPL或GPLCompatibleLicenses許可。如果使用GPL許可,要求插件中包含以下信息:

    <?php

    /* Copyright 年份 作者名 (email : 你的郵箱)

    This program is free software; you can redistribute it and/or modify

    it under the terms of the GNU General Public License as published by

    the Free Software Foundation; either version 2 of the License, or

    (at your option) any later version.

    This program is distributed in the hope that it will be useful,

    but WITHOUT ANY WARRANTY; without even the implied warranty of

    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License

    along with this program; if not, write to the Free Software

    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

    */

    ?>

    開始編寫插件

    現(xiàn)在是時候讓你的插件能干些什么了。這部分內(nèi)容包括插件開發(fā)的一般思路,而且介紹了開發(fā)插件需要做哪些工作。

    WordPress插件鉤子

    許多WordPress插件通過連接一個或多個WordPress插件鉤子來完成他們的功能。插件鉤子的運(yùn)行機(jī)理是,當(dāng)WordPress運(yùn)行到不同階段,WordPress會檢查當(dāng)前階段是否注冊了插件函數(shù),如果是,那么函數(shù)將被執(zhí)行。通過執(zhí)行插件函數(shù)改變了WordPress的默認(rèn)功能。

    例如,在WordPress將日志標(biāo)題和post發(fā)送到瀏覽器前,會檢查是否有插件函數(shù)注冊了名為“the_title”的“filter”鉤子。如果是,標(biāo)題文本將會傳送到注冊函數(shù)中,注冊函數(shù)返回值將會傳送到瀏覽器。所以,如果要在日志標(biāo)題中加入一些信息,可以通過這種方式實(shí)現(xiàn)。

    另一個例子是名為“wp_footer”的“action”鉤子。在WordPress的HTML頁腳創(chuàng)建之前,會檢查是否有插件注冊了名為“wp_footer”的“action”鉤子,如果是依次執(zhí)行她們。

    在Plugin API了解更多如何注冊“filter”和“action”類型的鉤子函數(shù),及WordPress提供了那些插件鉤子。如果你發(fā)現(xiàn)WordPress沒有提供自己想要的鉤子,你可以建議WordPress加入這個鉤子,很多建議WordPress都會采納。具體方法參考Reporting Bugs。

    模版標(biāo)簽

    另一個通過插件加入新功能的方法是建立自定義的模版標(biāo)簽Template Tags。如果有人想用你的插件,可以在他們的主題中添加這些標(biāo)簽,邊欄,文章內(nèi)容段,或者任意的只要是適合這插件的地方。例如,一個給文章添加地理位置的插件可能定義了一個模板標(biāo)簽函數(shù)geotag_list_states()放在邊欄上,這里列表了所有在文章中關(guān)聯(lián)的州的名稱,并且還帶有插件提供的到這些州的文檔頁的鏈接。

    定義一個自定義模板標(biāo)簽,僅需要寫一個PHP函數(shù),并且在你插件主頁或者插件的主PHP文件中聲明一下。聲明函數(shù)的時候,為這個函數(shù)提供一個示例來明確如果想要應(yīng)用這個函數(shù)需要加主題中加些什么文件是個相當(dāng)棒的主意。

    保存插件數(shù)據(jù)到數(shù)據(jù)庫

    大多數(shù)WordPress插件需要站點(diǎn)的所有者或者是博客的用戶輸入信息,然后在對話過程中保存起來,以便過濾器函數(shù)(filter)、動作函數(shù)(action)或者模板函數(shù)(Template)使用。這些信息必須保存在WordPress的數(shù)據(jù)庫中,以便下次使用。這里有兩種基本的方法用于保存插件的信息到數(shù)據(jù)庫里面。

    使用WordPress的"option"機(jī)制(稍后會有介紹)。這種方法適合于保存一些相對小數(shù)量的靜態(tài)命名類數(shù)據(jù)--這類數(shù)據(jù)通常只需要網(wǎng)站的所有者在首次建立插件的時候輸入,以后很少改動。

    文章屬性post meta(a.k.a. Custom Fields),適用于那些只和個人文章、頁面或者附件有關(guān)的數(shù)據(jù)。

    參看post_meta Function Examples, add_post_meta(), 以及與文章相關(guān)函數(shù)屬性post.fuction meta (a.k.a. Custom Fields).

    自定義分類法。對于文章分類或者其他對象,比如用戶、評論,或者用戶可編輯列表中的數(shù)據(jù)名稱/值,可以考慮使用自定義分類法,尤其是當(dāng)你要訪問的所有的文章/對象與給定的分類法項(xiàng)目相關(guān)聯(lián)的時候。查閱 Custom Taxonomies

    在數(shù)據(jù)庫中創(chuàng)建一個新的自定義數(shù)據(jù)表。這種方法適合于與個人文章、頁面、附件或者評論相關(guān)的數(shù)據(jù),這類數(shù)據(jù)會隨著時間越來越多,它們也沒有專有名稱。參看Creating Tables with Plugins來了解更多這類信息處理方法。

    以上就是關(guān)于wordpress產(chǎn)品列表插件相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    wordpress做企業(yè)官網(wǎng)(wordpress企業(yè)網(wǎng)站建設(shè))

    景觀設(shè)計swot分析(景觀設(shè)計swot分析圖學(xué)生作業(yè))

    wordpress進(jìn)入(wordpress進(jìn)入網(wǎng)站底部彈出信息)

    簡單的幸福昵稱(四個字暖心昵稱)

    原創(chuàng)文章生成器app有哪些免費(fèi)(原創(chuàng)文章生成器app有哪些免費(fèi)的)