国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 CMS教程 &#&按 在WordPress中添加元框

在WordPress中添加元框

Feb 10, 2025 am 10:34 AM

Adding Meta Boxes to Post Types in WordPress

WordPress網(wǎng)站建設(shè)者或開發(fā)者經(jīng)常會用到元框(Meta Boxes)。本文將深入探討元框與自定義文章類型的關(guān)聯(lián)和集成,以及如何在WordPress前端使用元框中保存的數(shù)據(jù)。

核心要點

  • 使用add_meta_box()函數(shù)(掛載到add_meta_boxes動作)可以將元框添加到任何文章類型的編輯界面。此函數(shù)可用于將元框添加到多個文章類型(如文章、頁面和自定義文章類型“書籍”),或添加到所有現(xiàn)有及未來創(chuàng)建的文章類型。
  • 通過將文章類型名稱附加到add_meta_boxes動作鉤子,可以將元框限制在特定文章類型。register_post_type()函數(shù)用于自定義文章類型,其參數(shù)數(shù)組包含register_meta_box_cb,其值為在設(shè)置元框時調(diào)用的回調(diào)函數(shù)。
  • global_notice_meta_box_callback函數(shù)包含元框的表單字段。save_post動作鉤子處理在將文章保存為草稿或發(fā)布時保存到文本區(qū)域的數(shù)據(jù)。通過在保存對應(yīng)文章內(nèi)容之前顯示元框輸入的數(shù)據(jù),可以將這些數(shù)據(jù)有效利用。

將元框添加到文章類型屏幕

Narayan Prusty已涵蓋了創(chuàng)建元框的大多數(shù)(如果不是全部)PHP函數(shù)、參數(shù)和動作鉤子。

要將元框添加到任何文章類型的編輯屏幕,可以使用add_meta_box()函數(shù)并將其掛接到add_meta_boxes動作。

以下代碼將元框添加到文章編輯屏幕。請注意global_notice_meta_box_callback函數(shù),該函數(shù)用于顯示元框中的表單字段。稍后我們將詳細介紹。

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback',
        'post'
    );
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

要將元框添加到多個文章類型屏幕(文章、頁面和自定義文章類型“書籍”),請創(chuàng)建一個文章類型數(shù)組,遍歷該數(shù)組,并使用add_meta_box()將其添加到這些文章類型中。

function global_notice_meta_box() {
    $screens = array( 'post', 'page', 'book' );
    foreach ( $screens as $screen ) {
        add_meta_box(
            'global-notice',
            __( '全局公告', 'sitepoint' ),
            'global_notice_meta_box_callback',
            $screen
        );
    }
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

要將元框添加到所有現(xiàn)有及未來創(chuàng)建的文章類型,請使用get_post_types()獲取文章類型數(shù)組,然后用它替換上面的$screen值。

function global_notice_meta_box() {
    $screens = get_post_types();
    foreach ( $screens as $screen ) {
        add_meta_box(
            'global-notice',
            __( '全局公告', 'sitepoint' ),
            'global_notice_meta_box_callback',
            $screen
        );
    }
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

也可以通過省略第三個($screen)參數(shù)來將元框添加到所有現(xiàn)有和新的文章類型:

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback'
    );
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

還可以通過將文章類型名稱(本例中為“book”)附加到add_meta_boxes動作鉤子來限制元框到特定文章類型:

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback'
    );
}
add_action( 'add_meta_boxes_book', 'global_notice_meta_box' );

register_post_type()函數(shù)用于自定義文章類型,其參數(shù)數(shù)組中包含register_meta_box_cb,其值為在設(shè)置元框時調(diào)用的回調(diào)函數(shù)。

假設(shè)我們使用以下代碼創(chuàng)建了一個名為“book”的自定義文章類型:

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback',
        'post'
    );
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

global_notice_meta_box PHP 函數(shù)(上面register_meta_box_cb的值)中添加add_meta_box()函數(shù)定義將把元框添加到“book”自定義文章類型的編輯屏幕。

再次強調(diào),這是我們的示例global_notice_meta_box函數(shù)。

function global_notice_meta_box() {
    $screens = array( 'post', 'page', 'book' );
    foreach ( $screens as $screen ) {
        add_meta_box(
            'global-notice',
            __( '全局公告', 'sitepoint' ),
            'global_notice_meta_box_callback',
            $screen
        );
    }
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

到目前為止,我們已經(jīng)學(xué)習(xí)了在WordPress中注冊或添加元框的各種方法。我們還需要創(chuàng)建global_notice_meta_box_callback函數(shù),該函數(shù)將包含我們元框的表單字段。

以下是global_notice_meta_box_callback函數(shù)的代碼,該函數(shù)將在元框中包含一個文本區(qū)域字段。

function global_notice_meta_box() {
    $screens = get_post_types();
    foreach ( $screens as $screen ) {
        add_meta_box(
            'global-notice',
            __( '全局公告', 'sitepoint' ),
            'global_notice_meta_box_callback',
            $screen
        );
    }
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

Adding Meta Boxes to Post Types in WordPress save_post動作鉤子處理在將文章保存為草稿或發(fā)布時保存到文本區(qū)域的數(shù)據(jù)。

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback'
    );
}
add_action( 'add_meta_boxes', 'global_notice_meta_box' );

為了使用在元框文本區(qū)域中輸入的數(shù)據(jù),我們將在顯示其保存對應(yīng)文章內(nèi)容之前顯示該數(shù)據(jù)。

function global_notice_meta_box() {
    add_meta_box(
        'global-notice',
        __( '全局公告', 'sitepoint' ),
        'global_notice_meta_box_callback'
    );
}
add_action( 'add_meta_boxes_book', 'global_notice_meta_box' );

代碼解釋

首先,我們創(chuàng)建了一個global_notice_before_post函數(shù),并將其掛接到the_content過濾器,該過濾器帶有一個$content參數(shù),其中包含文章內(nèi)容。

在函數(shù)內(nèi)部,我們包含了全局$post變量,該變量包含當前正在查看的文章的WP_Post對象。

通過get_post_meta檢索針對給定文章保存的全局公告,并將其保存到$global_notice變量中。

然后將公告包裝在一個div中并保存到$notice變量中。

最后,將包含全局公告的$notice與包含實際文章內(nèi)容的$content連接起來。

以下是帶有文章內(nèi)容之前的全局公告的文章屏幕截圖。

Adding Meta Boxes to Post Types in WordPress

總結(jié)

在本教程中,我們學(xué)習(xí)了在WordPress管理屏幕中注冊元框的多種方法,以及如何將它們限制在文章類型中。

我們還回顧了如何向元框添加表單字段,以及如何在保存或發(fā)布文章時保存輸入的數(shù)據(jù)。

最后,我們介紹了如何將輸入到元框中的數(shù)據(jù)付諸實踐。

在未來的文章中,我們將介紹如何向文章類型管理屏幕添加上下文幫助選項卡。

如果您有任何問題或建議,歡迎在評論中提出。

WordPress中向文章類型添加元框的常見問題

  • 什么是WordPress中的元框? WordPress中的元框是在管理界面中顯示的可拖動框。這些框用于顯示附加的輸入字段,允許用戶自定義不同類型文章的功能和布局。它們可以添加到文章、頁面和自定義文章類型。元框可以包含各種類型的字段,包括文本、復(fù)選框、選擇選項等等。

  • 如何在WordPress中向自定義文章類型添加元框? 要向WordPress中的自定義文章類型添加元框,需要使用add_meta_box()函數(shù)。此函數(shù)允許您指定元框ID、標題、回調(diào)函數(shù)、文章類型、上下文和優(yōu)先級。回調(diào)函數(shù)用于輸出元框的內(nèi)容。

  • 我能否向單個文章類型添加多個元框? 可以。每個元框都應(yīng)具有唯一的ID,以避免沖突。您可以多次使用add_meta_box()函數(shù)并使用不同的參數(shù)來添加多個元框。

  • 如何保存輸入到元框字段中的數(shù)據(jù)? 要保存輸入到元框字段中的數(shù)據(jù),需要將一個函數(shù)掛接到save_post動作。此函數(shù)應(yīng)檢查nonce,驗證當前用戶的權(quán)限,然后使用update_post_meta()add_post_meta()函數(shù)將元框數(shù)據(jù)保存到數(shù)據(jù)庫。

  • 如何在前端顯示元框數(shù)據(jù)? 要在前端顯示元框數(shù)據(jù),可以在循環(huán)中使用get_post_meta()函數(shù)。此函數(shù)從數(shù)據(jù)庫檢索元框數(shù)據(jù)并將其作為字符串返回,然后您可以在模板文件中將其輸出。

  • 我能否將元框添加到頁面以及文章? 可以。使用add_meta_box()函數(shù)時,可以將文章類型指定為“page”以向頁面添加元框。

  • 如何從文章類型中刪除元框? 可以使用remove_meta_box()函數(shù)。此函數(shù)需要元框ID和文章類型作為參數(shù)。

  • 我能否自定義元框在文章編輯屏幕中的位置? 可以。add_meta_box()函數(shù)的context參數(shù)決定了元框的位置??赡艿闹禐椤皀ormal”、“side”和“advanced”。

  • 我能否將元框添加到插件創(chuàng)建的自定義文章類型? 可以。您只需要知道自定義文章類型的slug,然后將其用作add_meta_box()函數(shù)中的post_type參數(shù)。

  • 如何設(shè)置元框及其字段的樣式? 可以使用CSS設(shè)置元框及其字段的樣式。元框?qū)⒕哂小皃ostbox”類,您可以向元框中的字段添加您自己的類。然后,您可以在CSS中定位這些類以應(yīng)用樣式。

以上是在WordPress中添加元框的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何將git與WordPress一起使用 如何將git與WordPress一起使用 Jun 26, 2025 am 12:23 AM

使用Git管理WordPress項目時,應(yīng)只將主題、自定義插件和配置文件納入版本控制;設(shè)置.gitignore文件以忽略上傳目錄、緩存和敏感配置;利用webhook或CI工具實現(xiàn)自動部署并注意數(shù)據(jù)庫處理;采用兩分支策略(main/develop)進行協(xié)作開發(fā)。這樣做可避免沖突、保障安全,并提升協(xié)作與部署效率。

如何使用WordPress測試環(huán)境 如何使用WordPress測試環(huán)境 Jun 24, 2025 pm 05:13 PM

使用WordPress測試環(huán)境是為了確保新功能、插件或主題在正式上線前的安全性和兼容性,避免影響真實網(wǎng)站。搭建測試環(huán)境的步驟包括:下載安裝本地服務(wù)器軟件(如LocalWP、XAMPP),創(chuàng)建站點、設(shè)置數(shù)據(jù)庫和管理員賬號,安裝主題和插件進行測試;復(fù)制正式網(wǎng)站到測試環(huán)境的方法是通過插件導(dǎo)出站點、導(dǎo)入測試環(huán)境并替換域名;使用時應(yīng)注意不使用真實用戶數(shù)據(jù)、定期清理無用數(shù)據(jù)、備份測試狀態(tài)、適時重置環(huán)境,并統(tǒng)一團隊配置以減少差異問題。

如何創(chuàng)建一個簡單的Gutenberg塊 如何創(chuàng)建一個簡單的Gutenberg塊 Jun 28, 2025 am 12:13 AM

創(chuàng)建Gutenberg塊的關(guān)鍵在于理解其基本結(jié)構(gòu)并正確連接前后端資源。1.準備開發(fā)環(huán)境:安裝本地WordPress、Node.js和@wordpress/scripts;2.使用PHP注冊塊并用JavaScript定義塊的編輯和顯示邏輯;3.通過npm構(gòu)建JS文件以使更改生效;4.遇到問題時檢查路徑、圖標是否正確或使用實時監(jiān)聽構(gòu)建避免重復(fù)手動編譯。按照這些步驟,可以逐步實現(xiàn)一個簡單的Gutenberg塊。

如何以編程方式刷新規(guī)則 如何以編程方式刷新規(guī)則 Jun 27, 2025 am 12:21 AM

在WordPress中,當新增自定義文章類型或修改固定鏈接結(jié)構(gòu)后,需手動刷新重寫規(guī)則,此時可通過代碼調(diào)用flush_rewrite_rules()函數(shù)實現(xiàn)。1.可在主題或插件激活鉤子中添加該函數(shù)以自動刷新;2.僅在必要時執(zhí)行一次,如添加CPT、分類法或修改鏈接結(jié)構(gòu)后;3.避免頻繁調(diào)用以免影響性能;4.多站點環(huán)境下需視情況為每個站點單獨刷新;5.某些托管環(huán)境可能限制規(guī)則保存。此外,訪問“設(shè)置>固定鏈接”頁面點擊保存也可觸發(fā)刷新,適合非自動化場景。

如何使WordPress主題響應(yīng)迅速 如何使WordPress主題響應(yīng)迅速 Jun 28, 2025 am 12:14 AM

要實現(xiàn)響應(yīng)式WordPress主題設(shè)計,首先要使用HTML5和移動優(yōu)先的Meta標簽,在header.php中添加viewport設(shè)置以確保移動端正確顯示,并用HTML5結(jié)構(gòu)標簽組織布局;其次,利用CSS媒體查詢實現(xiàn)不同屏幕寬度下的樣式適配,按移動優(yōu)先原則編寫樣式,常用斷點包括480px、768px和1024px;第三,彈性處理圖片和布局,為圖片設(shè)置max-width:100%并使用Flexbox或Grid布局替代固定寬度;最后,通過瀏覽器開發(fā)者工具和真實設(shè)備進行充分測試,優(yōu)化加載性能,確保響應(yīng)

如何在WordPress htaccess中設(shè)置重定向 如何在WordPress htaccess中設(shè)置重定向 Jun 25, 2025 am 12:19 AM

tosetupredirectsinwordpressingthe.htaccessfile,locateThEfileInyourSite'sRootDirectorectoryAndDrectRectrulesabovethe#beginWordPresssection.forbasic301redirects,USETHEETHEETERECTREFTATRECTATREDERTREFTATREDERTREFTATRECTRECTATRECTRECTATREDECT301/OLD-PAGEHTTPS:

如何將第三方API與WordPress集成 如何將第三方API與WordPress集成 Jun 29, 2025 am 12:03 AM

TOINTEGRATETHIRD-PARTYAPISINTOWORDPRESS,關(guān)注臺詞:1.SelectAutableabepianDobtainCredentialslikeapikeYsoroAuthtoKensByEnterRegisteringThemSecure.2.ChooseBeteBetB??eteBetB??eteBetB??etebetInpliCityOorcustimplicityOrcustomPliCoseTompliCoseTomploomcoseusionfunctionfunctionfunctibunitiacuciencipuity forfunigation。

如何使用SMTP從WordPress發(fā)送電子郵件 如何使用SMTP從WordPress發(fā)送電子郵件 Jun 27, 2025 am 12:30 AM

UsingsMtpForWordPresseMailSimProvesDeliverabilitialComparedComparedTothEdeDefaultPhpMail()函數(shù).1.smtpauthenticateswithyouremailserver.2.somemomehostsdisablesablephpmail()

See all articles