鑰匙要點(diǎn)
-
WordPress中的自定義分類法允許更量身定制的內(nèi)容和構(gòu)造內(nèi)容,增強(qiáng)站點(diǎn)組織和用戶導(dǎo)航。
通過(guò)添加自定義字段并使用鉤子修改管理屏幕,可以在術(shù)語(yǔ)創(chuàng)建和編輯過(guò)程中捕獲其他信息。
- 擴(kuò)展分類法的過(guò)程涉及利用特定的掛鉤,例如`ectory_add_form_fields`和'category_edit_form_fields`用于添加自定義輸入字段,以及`creation_category`和'edrace_category''和`edit_category“保存添加信息。 通過(guò)允許存儲(chǔ)和檢索與各種術(shù)語(yǔ)相關(guān)的詳細(xì)元數(shù)據(jù),可以利用分類法和檢索可以利用以改善內(nèi)容表現(xiàn)和SEO。 >本教程提供了有關(guān)如何在內(nèi)置和自定義分類法中實(shí)施自定義字段的綜合指南,確保WordPress開(kāi)發(fā)人員可以適應(yīng)分類法以有效地滿足特定項(xiàng)目要求。
- 什么是WordPress分類法/自定義分類法?
- 分類學(xué)本質(zhì)上是將信息集分組在一起的一種方法。
> >我上一篇關(guān)于自定義WordPress分類法的文章所涵蓋的 - ,WordPress使用其內(nèi)部構(gòu)建的分類學(xué)類別和標(biāo)簽來(lái)為您的內(nèi)容類型提供分組,并且默認(rèn)情況下將這些應(yīng)用于帖子內(nèi)容類型。這些分類法由一個(gè)或多個(gè)術(shù)語(yǔ)組成,這些術(shù)語(yǔ)基本上是用來(lái)將您的項(xiàng)目分組在一起的名稱。 雖然標(biāo)準(zhǔn)分類法可能很好,但有時(shí)您可能需要其他方法將內(nèi)容分組在一起,這是合乎邏輯的。這就是自定義分類法可以證明具有異常有用的地方。
- 自定義分類法,您可以創(chuàng)建自己的名稱和結(jié)構(gòu)來(lái)組織帖子。您可以創(chuàng)建一個(gè)稱為grade_ranking的新分類法,該分類法將通過(guò)等級(jí),信用,區(qū)分和高分辨率來(lái)處理您的帖子的排名。
定義分類法時(shí),您會(huì)確定它是層次結(jié)構(gòu)還是非層次結(jié)構(gòu)。這確定將收集有關(guān)您的分類法的哪些信息。
>
>層次分類法與類別類似,允許不同級(jí)別的條款(您可以將父母和子女分配為條款)。 非層次分類法的作用就像標(biāo)簽一樣>您的自定義分類法可以讓您輸入以下每個(gè)條款
>的信息- >名稱
- 定義用于術(shù)語(yǔ)本身的名稱,這將顯示給最終用戶。應(yīng)用于類別和標(biāo)簽 >
- > sl
- 確定用于該術(shù)語(yǔ)的URL(通常較低的情況,空間由儀表板字符代替)。適用于類別和術(shù)語(yǔ)
- >父母
- >讓您確定您的期限是否為頂級(jí)父母期限,還是該期限是子項(xiàng)。僅適用于層次分類法,例如類別 >
- 描述
- >對(duì)此術(shù)語(yǔ)的簡(jiǎn)要說(shuō)明。這在術(shù)語(yǔ)列表頁(yè)面上顯示(當(dāng)您單擊以查看術(shù)語(yǔ)本身時(shí)) >
這是WordPress在您的條款方面將為您提供的全部。
>擴(kuò)展分類法
>默認(rèn)信息可能是您的分類法所需的全部信息,但您可能需要保存其他信息,這些信息可以在網(wǎng)站上使用。
>> WordPress優(yōu)惠是一系列掛鉤,可用于修改分類法屏幕的管理區(qū)域,并在保存其他信息的過(guò)程中為您提供幫助。
對(duì)于我們的教程,我們將擴(kuò)展默認(rèn)類別分類學(xué)。您可以輕松地?cái)U(kuò)展自己創(chuàng)建的內(nèi)部分類法或分類法,但是為簡(jiǎn)單起見(jiàn),我們將修改現(xiàn)有的分類法。我們從哪里開(kāi)始?
>通過(guò)分類管理屏幕
創(chuàng)建它們 在編輯您的分類法所綁定的帖子類型的同時(shí),即
例如,您可以在類別管理菜單(通過(guò)定義名稱,slug,partend Description等)或直接在您的帖子或頁(yè)面中創(chuàng)建它們(通過(guò)使用該類別的菜單(通過(guò)使用該類別),您可以為類別分類的類別創(chuàng)建術(shù)語(yǔ)類別元框并動(dòng)態(tài)添加一個(gè)新類別)。- >
- >由于我們將要保存有關(guān)我們條款的其他信息,因此我們將使用分類法管理屏幕,因?yàn)樗鼈兲峁┝颂砑?,編輯和刪除條款的最佳方法。 需要修改什么?
- > >使用分類法時(shí),您將與添加和編輯管理屏幕進(jìn)行交互。這些屏幕處理添加新術(shù)語(yǔ)并分別編輯現(xiàn)有術(shù)語(yǔ)的過(guò)程。 WordPress提供了一系列掛鉤,這些掛鉤可幫助您鉤住特定功能,并為您提供一種修改核心功能的簡(jiǎn)便方法。
>由于我們將保存其他信息,因此我們需要修改兩個(gè)屏幕,以便我們可以連接,收集和與已保存的信息進(jìn)行交互。
> 在本教程中,我們將添加其他表單元素,以便我們可以收集有關(guān)類別的更多信息。為此,我們將捕獲以下元素:- >文本
- > textarea
- 選擇
- 復(fù)選框
這些是最常見(jiàn)的形式元素,應(yīng)有助于您更好地了解如何擴(kuò)展分類法以保存其他信息。
修改添加類別管理菜單>我們需要修改的第一個(gè)位置將是添加類別管理菜單。此菜單通常是您添加所有類別的地方,我們需要保存其他信息。
我們需要使用類別_add_form_fields鉤。
>類別_ADD_FORM_FIELDS HONK用于將其他信息添加到類別管理屏幕中。該鉤子采用單個(gè)參數(shù),這是分類法本身的名稱。此掛鉤使我們可以在添加類別屏幕上添加其他信息,因此首先我們需要定義一個(gè)顯示一些字段以供我們保存的函數(shù)。 以下代碼應(yīng)輸入您的主題functions.php文件(或您用于自定義代碼的另一個(gè)文件)
>>現(xiàn)在我們已經(jīng)定義了函數(shù),我們需要做的就是將其連接到我們的category_add_form_fields鉤子,并且一旦顯示“添加類別”屏幕,它將立即激活。我們將通過(guò)調(diào)用add_action()函數(shù)來(lái)做到這一點(diǎn)。
function add_extra_fields_to_category($taxonomy_name){ ?> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-text"</span>></span>Category Text Field<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="category-text"</span> id<span>="category-text"</span>/></span> </span> <span><span><span><p</span>></span>This is a text field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-textarea"</span>></span>Category Textarea Field<span><span></label</span>></span> </span> <span><span><span><textarea</span> name<span>="category-textarea"</span> id<span>="category-textarea"</span>></span><span><span></textarea</span>></span> </span> <span><span><span><p</span>></span>This is a textarea field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-select"</span>></span>Category Select Field<span><span></label</span>></span> </span> <span><span><span><select</span> name<span>="category-select"</span> id<span>="category-select"</span>></span> </span> <span><span><span><option</span> value<span>="select-value-one"</span>></span> Value One <span><span></option</span>></span> </span> <span><span><span><option</span> value<span>="select-value-two"</span>></span> Value Two <span><span></option</span>></span> </span> <span><span><span></select</span>></span> </span> <span><span><span><p</span>></span>This is a select field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span>></span> </span> <span><span><span><label</span> for<span>="category-radio-value-one"</span>></span>Category Radio Value One<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-one"</span> value<span>="category-radio-value-one"</span>/></span> </span> <span><span><span><label</span> for<span>="category-radio-value-two"</span>></span>Category Radio Value Two<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-two"</span> value<span>="category-radio-value-two"</span>/></span> </span> <span><span><span><p</span>></span>This is a radio field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>}</span></span>> add_action('category_add_form_fields','add_extra_fields_to_category');
完成此操作后,您的類別管理屏幕應(yīng)顯示您在功能中定義的其他字段。我的看起來(lái)如下:
作為旁注,當(dāng)您定義字段以添加到屏幕中時(shí),通常將它們包裹在形式類別中,這確保了包含的輸入元素涵蓋屏幕的完整寬度。如您在我們的示例中所看到的,除了無(wú)線電按鈕外,我還啟用了此類。我們不希望我們的廣播按鈕跨越全寬(因?yàn)榭雌饋?lái)很奇怪)。

>
保存我們的新類別信息>現(xiàn)在我們已經(jīng)修改了添加類別屏幕,我們需要保存其他信息,以便我們可以使用它。
>我們需要將功能附加到另一個(gè)鉤子上以觸發(fā)我們的保存操作,此鉤被稱為create_category。我們創(chuàng)建的此功能將處理我們的術(shù)語(yǔ)信息的保存。
>在收集將直接用于更新WordPress數(shù)據(jù)庫(kù)的信息時(shí),這始終是消毒值的好習(xí)慣。我們可以使用“ sanitize_text_field($ string)”來(lái)消毒字符串,剝離所有標(biāo)簽,刪除線路斷路,選項(xiàng)卡和轉(zhuǎn)換字符實(shí)體,例如
function add_extra_fields_to_category($taxonomy_name){ ?> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-text"</span>></span>Category Text Field<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="category-text"</span> id<span>="category-text"</span>/></span> </span> <span><span><span><p</span>></span>This is a text field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-textarea"</span>></span>Category Textarea Field<span><span></label</span>></span> </span> <span><span><span><textarea</span> name<span>="category-textarea"</span> id<span>="category-textarea"</span>></span><span><span></textarea</span>></span> </span> <span><span><span><p</span>></span>This is a textarea field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-select"</span>></span>Category Select Field<span><span></label</span>></span> </span> <span><span><span><select</span> name<span>="category-select"</span> id<span>="category-select"</span>></span> </span> <span><span><span><option</span> value<span>="select-value-one"</span>></span> Value One <span><span></option</span>></span> </span> <span><span><span><option</span> value<span>="select-value-two"</span>></span> Value Two <span><span></option</span>></span> </span> <span><span><span></select</span>></span> </span> <span><span><span><p</span>></span>This is a select field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span>></span> </span> <span><span><span><label</span> for<span>="category-radio-value-one"</span>></span>Category Radio Value One<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-one"</span> value<span>="category-radio-value-one"</span>/></span> </span> <span><span><span><label</span> for<span>="category-radio-value-two"</span>></span>Category Radio Value Two<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-two"</span> value<span>="category-radio-value-two"</span>/></span> </span> <span><span><span><p</span>></span>This is a radio field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>}</span></span>
>使用此ID,我們可以調(diào)用get_term($ term_id,$ targ_id,$ sualthomy_name)函數(shù)。
此函數(shù)采用兩個(gè)參數(shù),即術(shù)語(yǔ)本身的ID和分類名稱。由于我們知道該術(shù)語(yǔ)本身的ID,并且我們正在從事類別分類法上工作,因此我們現(xiàn)在將能夠訪問(wèn)術(shù)語(yǔ)對(duì)象。
此功能允許我們?cè)赪ordPress選項(xiàng)表中創(chuàng)建一個(gè)新條目,以便我們保存我們的值。所有這些功能需求都是新選項(xiàng)的名稱及其值。我們正在四次調(diào)用此功能,其中一個(gè)用于我們節(jié)省的新字段。
>
例如,如果我們要?jiǎng)?chuàng)建一個(gè)新的類別,稱為測(cè)試時(shí),當(dāng)我們保存文本方面字段時(shí),選項(xiàng)名稱將成為term_category_textarea_test,我們的選擇字段選項(xiàng)將成為text_category_select_test等這些字段以確保沒(méi)有兩個(gè)值都可以相同(因?yàn)樗衧lugs都是唯一的)。現(xiàn)在,我們要做的就是將此功能連接到create_category掛鉤,我們進(jìn)行了排序
修改編輯類別管理菜單
>現(xiàn)在我們已經(jīng)在“添加類別”屏幕上顯示了新的字段元素并將其保存為選項(xiàng),我們需要修改編輯屏幕并在此處預(yù)先填充我們的新值(因此,如果需要,可以更新它們)。function save_extra_taxonomy_fields($term_id){ //collect all term related data for this new taxonomy $term_item = get_term($term_id,'category'); $term_slug = $term_item->slug; //collect our custom fields $term_category_text = sanitize_text_field($_POST['category-text']); $term_category_textarea = sanitize_text_field($_POST['category-textarea']); $term_category_select = sanitize_text_field($_POST['category-select']); $term_category_radio = sanitize_text_field($_POST['category-radio']); //save our custom fields as wp-options update_option('term_category_text_' . $term_slug, $term_category_text); update_option('term_category_textarea_' . $term_slug, $term_category_textarea); update_option('term_category_select_' . $term_slug, $term_category_select); update_option('term_category_radio_' . $term_slug, $term_category_radio); }
我們需要連接到category_edit_form_fields鉤子以顯示我們的其他字段。
> cattory_edit_form_fields Hook用于將其他字段輸出到類別的編輯管理屏幕上。該鉤子帶有一個(gè)值,這是術(shù)語(yǔ)對(duì)象本身。由于此掛鉤將可以訪問(wèn)術(shù)語(yǔ)對(duì)象本身,因此收集其信息非常簡(jiǎn)單。
>我們需要?jiǎng)?chuàng)建一個(gè)功能,該函數(shù)將輸出我們的其他字段并用我們的信息預(yù)先填充它們。由于我們現(xiàn)在可以訪問(wèn)該術(shù)語(yǔ)對(duì)象,這將很容易。
>此函數(shù)使用其傳遞在術(shù)語(yǔ)對(duì)象中的傳遞來(lái)訪問(wèn)術(shù)語(yǔ)本身的slug。使用此slug,它使用theget_option($ option_name)函數(shù)搜索了我們的四個(gè)保存的自定義字段值。
>
此功能以指定名稱搜索一個(gè)選項(xiàng)并分配其值。在我們的情況下,我們正在尋找我們的四個(gè)字段值,并將它們分配給變量。<span>add_action('create_category','save_extra_taxonomy_fields');</span>>
>此功能的最大部分是輸出我們的HTML形式元素,它們作為表元素添加。對(duì)于我們的每個(gè)字段,我們都會(huì)顯示標(biāo)簽和適用的文本,Textarea,Select或Radio Elements。
>我們預(yù)先填充自定義字段的方式在我們所處理的每種類型中都不同。這是我們要做的
- >
- >文本字段 - 對(duì)于文本字段,我們將其值直接分配給其ValueAttribute,該值將預(yù)先填充字段本身
- > textaRea字段 - 對(duì)于TextArea字段,我們直接在標(biāo)簽之間回聲,這將其值直接輸出到TextArea元素中。
>
選擇字段 - 對(duì)于選擇字段,我們首先創(chuàng)建選擇元素及其所有相關(guān)選項(xiàng)。我們添加了稱為值的選擇元素的屬性,并用我們保存的值填充它(這與我們處理文本字段的方式非常相似)。即使我們將值輸出到選擇列表中,我們?nèi)匀恍枰_定最初選擇哪個(gè)選項(xiàng)。我們現(xiàn)在要做的是針對(duì)選擇元素中的每個(gè)選項(xiàng),我們確定其值是否與我們收集的值相同,如果選擇它。我們使用基本的if語(yǔ)句,如果它們匹配我們將選定的屬性呼應(yīng)該選項(xiàng),這將使瀏覽器默認(rèn)選擇此選項(xiàng)。 - 無(wú)線電字段 - 對(duì)于無(wú)線電字段,我們將它們直接輸出到頁(yè)面上,并確定其值是否匹配保存的值,如果是這樣,我們使用基本if語(yǔ)句將已檢查的屬性輸出到其上,此屬性使得該屬性使得瀏覽器默認(rèn)情況下選擇此值(在許多方面處理此操作類似于選擇元素,因?yàn)槲覀冃枰嬖V瀏覽器要顯示的選項(xiàng))
-
確保正確填充這些值非常重要,就像您不選擇它們一樣,當(dāng)用戶更新其術(shù)語(yǔ)時(shí),他們的數(shù)據(jù)可能不一致。
我們要做的就是將我們的新功能連接到category_edit_form_fields鉤子,當(dāng)我們單擊“條款的編輯屏幕”時(shí),此功能將執(zhí)行。 >
連接此功能后,應(yīng)更新您的類別編輯屏幕并顯示您的其他字段和值。我的看起來(lái)如下:
保存我們更新的類別信息
function add_extra_fields_to_category($taxonomy_name){ ?> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-text"</span>></span>Category Text Field<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="category-text"</span> id<span>="category-text"</span>/></span> </span> <span><span><span><p</span>></span>This is a text field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-textarea"</span>></span>Category Textarea Field<span><span></label</span>></span> </span> <span><span><span><textarea</span> name<span>="category-textarea"</span> id<span>="category-textarea"</span>></span><span><span></textarea</span>></span> </span> <span><span><span><p</span>></span>This is a textarea field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span> class<span>="form-field"</span>></span> </span> <span><span><span><label</span> for<span>="category-select"</span>></span>Category Select Field<span><span></label</span>></span> </span> <span><span><span><select</span> name<span>="category-select"</span> id<span>="category-select"</span>></span> </span> <span><span><span><option</span> value<span>="select-value-one"</span>></span> Value One <span><span></option</span>></span> </span> <span><span><span><option</span> value<span>="select-value-two"</span>></span> Value Two <span><span></option</span>></span> </span> <span><span><span></select</span>></span> </span> <span><span><span><p</span>></span>This is a select field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><span><div</span>></span> </span> <span><span><span><label</span> for<span>="category-radio-value-one"</span>></span>Category Radio Value One<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-one"</span> value<span>="category-radio-value-one"</span>/></span> </span> <span><span><span><label</span> for<span>="category-radio-value-two"</span>></span>Category Radio Value Two<span><span></label</span>></span> </span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-two"</span> value<span>="category-radio-value-two"</span>/></span> </span> <span><span><span><p</span>></span>This is a radio field <span><span></p</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>}</span></span>
當(dāng)我們更新類別信息時(shí),我們將需要一個(gè)函數(shù)來(lái)保存我們的新字段值。 值得慶幸的是,我們已經(jīng)有一個(gè)功能。以前,我們創(chuàng)建了thesave_extra_taxonomy_fields($ TERM_ID)函數(shù),我們?cè)谔砑有骂悇e術(shù)語(yǔ)時(shí)使用了。

function add_extra_fields_to_category($taxonomy_name){
?>
<span><span><span><div</span> class<span>="form-field"</span>></span>
</span> <span><span><span><label</span> for<span>="category-text"</span>></span>Category Text Field<span><span></label</span>></span>
</span> <span><span><span><input</span> type<span>="text"</span> name<span>="category-text"</span> id<span>="category-text"</span>/></span>
</span> <span><span><span><p</span>></span>This is a text field <span><span></p</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="form-field"</span>></span>
</span> <span><span><span><label</span> for<span>="category-textarea"</span>></span>Category Textarea Field<span><span></label</span>></span>
</span> <span><span><span><textarea</span> name<span>="category-textarea"</span> id<span>="category-textarea"</span>></span><span><span></textarea</span>></span>
</span> <span><span><span><p</span>></span>This is a textarea field <span><span></p</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="form-field"</span>></span>
</span> <span><span><span><label</span> for<span>="category-select"</span>></span>Category Select Field<span><span></label</span>></span>
</span> <span><span><span><select</span> name<span>="category-select"</span> id<span>="category-select"</span>></span>
</span> <span><span><span><option</span> value<span>="select-value-one"</span>></span> Value One <span><span></option</span>></span>
</span> <span><span><span><option</span> value<span>="select-value-two"</span>></span> Value Two <span><span></option</span>></span>
</span> <span><span><span></select</span>></span>
</span> <span><span><span><p</span>></span>This is a select field <span><span></p</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span>></span>
</span> <span><span><span><label</span> for<span>="category-radio-value-one"</span>></span>Category Radio Value One<span><span></label</span>></span>
</span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-one"</span> value<span>="category-radio-value-one"</span>/></span>
</span> <span><span><span><label</span> for<span>="category-radio-value-two"</span>></span>Category Radio Value Two<span><span></label</span>></span>
</span> <span><span><span><input</span> type<span>="radio"</span> name<span>="category-radio"</span> id<span>="category-radio-value-two"</span> value<span>="category-radio-value-two"</span>/></span>
</span> <span><span><span><p</span>></span>This is a radio field <span><span></p</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><?php
</span></span><span><span>}</span></span>
擴(kuò)展自定義分類法
>自定義分類法可以與內(nèi)置的分類法(類別和標(biāo)簽)完全相同。
>您需要進(jìn)行的唯一修改將是使用的鉤子的名稱。對(duì)于類別,您將使用以下鉤子:
態(tài) 態(tài)
create_category - 在要保存新類別術(shù)語(yǔ)- 時(shí)使用
- > edit_category - 在要保存更新的類別術(shù)語(yǔ) >時(shí)使用
- 這些鉤子會(huì)將您連接到您需要編輯的區(qū)域,從而允許您保存和檢索其他信息。
- 對(duì)于自定義分類法,它們將非常相似,您將使用的鉤子是動(dòng)態(tài)的,并且基于您的分類法的名稱,它們將是:
$ galsonomy_name_edit_form_fields
create_ $ galsonomy_name,
- edit_ $ galsonomy_name
- 例如
- 成員_ADD_FORM_FIELDS
- 成員_edit_form_fields
edit_members
- >您需要遵循基本模式并將其應(yīng)用于自定義分類法,您將能夠編輯這些屏幕并根據(jù)需要保存信息。
- 將其全部包裝
- >現(xiàn)在您知道如何為分類法 /條款保存其他信息,您可以擴(kuò)展WordPress的執(zhí)行時(shí)間,甚至超過(guò)原本打算做的。
- >您可以使用get_term($ term_name,$ targonomy_name)訪問(wèn)您的單詞 >您可以編輯孩子主題文件和其他資源來(lái)利用此新信息。如果您更改了這些分類法以刪除您的新信息,我將從編輯您的category.php或tag.php文件開(kāi)始。
>幾乎沒(méi)有限制您現(xiàn)在可以通過(guò)分類法實(shí)現(xiàn)的復(fù)雜性,因?yàn)槟梢员4婺矚g的任何信息并根據(jù)需要輸出。
如果您對(duì)自定義分類法的更多信息感興趣,請(qǐng)查看賈斯汀·塔德洛克(Justin Tadlock)的“自定義分類法”。>有關(guān)擴(kuò)展WordPress分類法的經(jīng)常詢問(wèn)的問(wèn)題
什么是WordPress分類法,為什么它們很重要?它們很重要,因?yàn)樗鼈冊(cè)试S您以有意義且可瀏覽的方式組織網(wǎng)站的內(nèi)容。這可以改善您的網(wǎng)站上的用戶體驗(yàn),從而使訪問(wèn)者更容易找到他們感興趣的內(nèi)容。分類法也可以改善您網(wǎng)站的SEO,因?yàn)樗鼈兛梢詣?chuàng)建更多有關(guān)您內(nèi)容的鏈接并提高其在搜索引擎上的可見(jiàn)性。
>
我如何擴(kuò)展WordPress分類法?
WordPress分類法中的自定義字段是什么?
是的,有許多可用的插件可以幫助您擴(kuò)展WordPress分類法。這些插件可以在分類法上添加自定義字段,創(chuàng)建新型的分類法,并提供與分類法相關(guān)的其他功能。一些流行的分類學(xué)插件包括高級(jí)自定義字段,自定義帖子類型UI和分類學(xué)條款順序。
>我如何在WordPress中創(chuàng)建自定義分類?在主題的functions.php文件中使用“ register_taxonomy”函數(shù)。此功能允許您定義自定義分類法的屬性,例如其名稱,標(biāo)簽,以及它是否是層次結(jié)構(gòu)。
>>層次結(jié)構(gòu)和非層次分類法之間有什么區(qū)別? >層次分類法是可以具有父母和子項(xiàng)的分類法,例如WordPress中的類別。非層次分類法是分類法不能具有父母和子項(xiàng),例如WordPress中的標(biāo)簽。您選擇創(chuàng)建的分類學(xué)類型取決于您要如何組織內(nèi)容。>我可以將自定義字段添加到內(nèi)置的WordPress分類法嗎?
是的,您可以將自定義字段添加到內(nèi)置的WordPress分類法(例如類別和標(biāo)簽)中。這可以通過(guò)使用與自定義分類法添加自定義字段的相同函數(shù)和方法來(lái)完成。
>>我如何訂購(gòu)我的分類學(xué)條款?
>您可以通過(guò)將“ get_terms”函數(shù)與“ orderby”和“ order”參數(shù)一起使用。您還可以使用諸如分類學(xué)條款順序之類的插件來(lái)輕松更改WordPress管理中的分類學(xué)條款的順序。>我可以使用分類法創(chuàng)建自定義帖子類型Archive嗎?可以使用分類法創(chuàng)建自定義郵政類型檔案。這可以通過(guò)創(chuàng)建與您的自定義帖子類型相關(guān)的分類法,然后在“ WP_QUERY”類中使用“分類學(xué)”參數(shù)來(lái)檢索該分類法的帖子。以上是擴(kuò)展WordPress分類法的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

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

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

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開(kāi)發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問(wèn)題、數(shù)據(jù)庫(kù)查詢效率低、主題代碼質(zhì)量差或流量激增。1.首先通過(guò)top、htop或控制面板工具確認(rèn)是否為WordPress引起的高負(fù)載;2.進(jìn)入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況并刪除或替換低效插件;3.安裝緩存插件、清理冗余數(shù)據(jù)、分析慢查詢?nèi)罩疽詢?yōu)化數(shù)據(jù)庫(kù);4.檢查主題是否存在過(guò)度加載內(nèi)容、復(fù)雜查詢或缺乏緩存機(jī)制等問(wèn)題,建議用標(biāo)準(zhǔn)主題測(cè)試對(duì)比并優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位并解

MinifyingJavaScript文件可通過(guò)刪除空白、注釋和無(wú)用代碼來(lái)提升WordPress網(wǎng)站加載速度。1.使用支持合并壓縮的緩存插件如W3TotalCache,在“Minify”選項(xiàng)中啟用并選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細(xì)控制;3.手動(dòng)壓縮JS文件并通過(guò)FTP上傳,適用于熟悉開(kāi)發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能沖突,啟用后需徹底測(cè)試網(wǎng)站功能。

優(yōu)化WordPress站點(diǎn)不依賴插件的方法包括:1.使用輕量級(jí)主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動(dòng)壓縮和合并CSS、JS文件,減少HTTP請(qǐng)求;3.上傳前優(yōu)化圖片,使用WebP格式并控制文件大小;4.配置.htaccess啟用瀏覽器緩存,并接入CDN提升靜態(tài)資源加載速度;5.限制文章修訂版本并定期清理數(shù)據(jù)庫(kù)冗余數(shù)據(jù)。

TransientsAPI是WordPress中用于臨時(shí)存儲(chǔ)可自動(dòng)過(guò)期數(shù)據(jù)的內(nèi)置工具,其核心函數(shù)為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設(shè)置生存時(shí)間(TTL),適合緩存API請(qǐng)求結(jié)果、復(fù)雜計(jì)算數(shù)據(jù)等場(chǎng)景。使用時(shí)需注意key命名唯一性與命名空間、緩存“懶刪除”機(jī)制及對(duì)象緩存環(huán)境下可能不持久的問(wèn)題。典型應(yīng)用場(chǎng)景包括減少外部請(qǐng)求頻率、控制代碼執(zhí)行節(jié)奏和提升頁(yè)面加載性能。

對(duì)象緩存可輔助持久存儲(chǔ),適用于高訪問(wèn)低更新、可容忍短暫丟失的數(shù)據(jù)。1.適合用緩存“持久化”的數(shù)據(jù)包括用戶配置、熱門商品信息等,能從數(shù)據(jù)庫(kù)恢復(fù)但使用緩存可加速訪問(wèn)。2.選擇Redis等支持持久化的緩存后端,啟用RDB或AOF模式,并配置合理過(guò)期策略,但不能替代主數(shù)據(jù)庫(kù)。3.設(shè)置長(zhǎng)TTL或永不過(guò)期鍵,采用清晰鍵名結(jié)構(gòu)如user:1001:profile,修改數(shù)據(jù)時(shí)同步更新緩存。4.可結(jié)合本地與分布式緩存,本地存小數(shù)據(jù)、Redis存大數(shù)據(jù)并用于重啟后恢復(fù),同時(shí)注意一致性與資源占用問(wèn)題。

防止評(píng)論垃圾信息最有效的方式是通過(guò)程序化手段自動(dòng)識(shí)別并攔截。1.使用驗(yàn)證碼機(jī)制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機(jī)器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機(jī)器人自動(dòng)填寫特性識(shí)別垃圾評(píng)論,不影響用戶體驗(yàn);3.檢查評(píng)論內(nèi)容關(guān)鍵詞黑名單,通過(guò)敏感詞匹配過(guò)濾垃圾信息,需注意避免誤判;4.判斷評(píng)論頻率與來(lái)源IP,限制單位時(shí)間內(nèi)的提交次數(shù)并建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識(shí)別準(zhǔn)確性??筛鶕?jù)網(wǎng)站

PluginCheck是一個(gè)幫助WordPress用戶快速檢查插件兼容性和性能的工具,主要用來(lái)識(shí)別當(dāng)前安裝的插件是否存在與最新版本W(wǎng)ordPress不兼容、存在安全漏洞等問(wèn)題。1.如何開(kāi)始檢查?安裝激活后,在后臺(tái)點(diǎn)擊“RunaScan”按鈕即可自動(dòng)掃描所有插件;2.報(bào)告包含插件名稱、檢測(cè)類型、問(wèn)題描述及解決方案建議,便于優(yōu)先處理嚴(yán)重問(wèn)題;3.建議在更新WordPress前、網(wǎng)站異常時(shí)或定期運(yùn)行檢查,提前發(fā)現(xiàn)隱患,避免未來(lái)出現(xiàn)重大問(wèn)題。

在開(kāi)發(fā)Gutenberg塊時(shí),正確enqueue資產(chǎn)的方法包括:1.使用register_block_type指定editor_script、editor_style和style的路徑;2.在functions.php或插件中通過(guò)wp_register_script和wp_register_style注冊(cè)資源,并設(shè)置正確的依賴和版本;3.配置構(gòu)建工具輸出合適的模塊格式,并確保路徑一致;4.通過(guò)add_theme_support或enqueue_block_assets控制前端樣式的加載邏輯,確保
