ПредишенСледващото

В тази статия ще говорим за потребителски класификации и как да ги създаде. Ние също така да видим какво WordPress Тема шаблонни файлове, свързани с вградени и потребителски класификации архивите, както и някои добри практики за създаване таксономия архиви.

терминология

Преди да продължим, нека да се справят с термини. Таксономия WordPress - този тип съдържание, използвани главно за организиране на всякакъв друг вид съдържание.

Персонализиране на файлове за WordPress категории, тагове и други класификации, CMS и двигатели

"WordPress шаблон йерархия"

За да направите това, на първо място, трябва да знаем кои файлове на нашата тема се използват за изходен файл. Различни теми имат различни шаблонни файлове, но всички теми съдържат index.php шаблон. index.php шаблон се използва за показване на цялото съдържание на сайта, с изключение на случаите, в които има йерархия на модели от по-висок модел ред.

Там трябва да се счита за протест - отменя заповедта на охлюв шаблон ID шаблон. Например, ако маркер с "авокадо" на заготовка имаше ID 7, ще бъде за предпочитане се използва маркер-avocado.php шаблон. ако има такъв, а не таг-7.php.

Редът на йерархията на потребителски шаблон таксономия е малко по-различно от общото, защото за всички класификации, има отделни шаблони за специфични класификации и специфичните условия в дадена таксономия.

Така че, представете си, че имате две класификации, "плодове" и "зеленчуци" и таксономията на "плодове" има два мандата, "ябълки" и "портокали".

В таксономията на "зеленчуци", от своя страна, има две условия: "моркови" и "целина". Нека добавим към темата на нашия сайт три шаблони: taxonomy.php. таксономия-fruits.php и таксономия-зеленчуци-carrots.php.

За таксономия термини "плодове" на всички файлове ще бъдат показани с помощта на таксономията-fruits.php шаблон. защото отделните шаблони за специфични условия не са предвидени.

В същото време, терминът "моркова" в таксономията на архив "зеленчуци" ще бъдат показани с помощта на таксономия-зеленчуци-carrots.php шаблон. Тъй като един-единствен шаблон таксономия-vegetables.php не съществува, всички други таксономични термини "зеленчуци" ще бъдат показани чрез taxonomy.php шаблон.

Използването условия тагове

В действителност, ние не трябва да се стремим да създадем много шаблони, тъй като те ще трябва да конфигурирате всеки път, когато ние правим обща промяна в основния HTML -razmetku, използван за всяка тема шаблон.

Ако имам нужда от шаблон, който е коренно различен от archive.php тема шаблон. Склонен съм да се използва добавянето на условия в archive.php.

Създаване на персонализиран таксономия

Да добавите свой собствен таксономия може да се извърши по един от трите начина: ръчно съставяне на код в съответствие с инструкциите на Кодекса, аз не препоръчвам; генериране на код използване GenerateWP; или чрез използване на плъгини за създаване на потребителски типове съдържание, като например шушулки или видове.

Приставките за потребителски типове съдържание ви позволяват да създавате собствени класификации и видове потребителски запис, с помощта на WordPress механика без да се налага да пишете код себе си.

Тяхната употреба - това е един от най-лесните начини да добавите персонализирано таксономия и прилагат принципа на рамка за работа с потребителски типове съдържание.

Ако изберете една от първите две опции, не включвайте, ще трябва да добавите код или в темите на functions.php файлове, или в собствения си плъгин. Горещо препоръчвам да създадете свой собствен плъгин, вместо добавяне на кода в functions.php. Дори ако никога не сте създали плъгин, препоръчвам ви го направят.

Защото, когато добавите кода в functions.php таксономия ще работи, но когато преминете теми (да речем, защото искате да използвате нова тема или отстраняване на проблеми), таксономията ще бъдат деактивирани.

Ако искате да напишете своето собствено таксономия код след кода, или да го създаде с помощта GenerateWP. поставете го в текстов файл и добавяне на върха на един ред и ще получите собствен плъгин. Аз свален и инсталиран, като всеки друг плъгин.

Единствената линия, която трябва да се добави, за да създадете потребителски Плъгинът е: / * Plug-in име: по поръчка Таксономия * /.

По-долу е приставка код, който регистрира обичай таксономия "зеленчуци". Аз го направили с помощта GenerateWP. тъй като тя е много по-лесно и много по-малка вероятност от грешки, отколкото ако аз го направих ръчно:

Между другото, в GenerateWP Създадох този код за по-малко от две минути! Голям услуга, така че пишете код на ръка няма смисъл, този сайт може автоматично да генерира код за вас.

Използването WP_QUERY в потребителски класификации

След като сте добавили обичай таксономия можете да направите заявка за регистриране на условията на тази таксономия. За да направите това, ние можем да използваме въпроси таксономия чрез WP_QUERY.

Заявки таксономия може да бъде много прост и доста сложна. Пример за прост въпрос е въпрос за всички записи, които имат специален термин. Например, ако имате тип запис, наречен "джедаите" и свързаното с потребителски таксономията нарича "ниво", можете да получите списък на всички майстор джедай на рицарите, както следва:

Ако добавите втори обичай таксономия, наречена "ера", можете да изберете всички джедаи на Старата република:

Ние също можем да направим по-сложни сравнения с помощта на пълен tax_query. tax_query аргументи позволяват да търсите по номер вместо охлюв (както направихме преди това) и в продължение на повече от един мандат гледам.

Те също така ви позволява да комбинирате няколко класификации за искания и да се установи връзката между тях. В допълнение, ние дори да използвате SQL отчети. като НЕ ПО. за да се предотврати условия.

Възможностите са безкрайни. За повече информация относно "Клас Референтен / WP_Query" вижте "Опции" в таксономията Код страница.

Със следния кодов фрагмент търсения като "джедаи" записи, за да определят джедаи и майсторите, които не принадлежат към епохата на Старата република:

Персонализиране на таксономия архиви

Сега ние ще разгледа възможността за промяна на вградения WordPress функционалност. Това ще бъде полезно за тези от вас, които използват WordPress не харесва блог платформа, но като система за управление на съдържанието, за които често изискват по поръчка таксономия.

Преди показване на всички записи чрез цикъл на WordPress. системата автоматично извлича рекорда на потребителя в съответствие с страницата, на която те се намират. Това се прави с помощта на WP_QUERY клас. Например, най-новите записи се показват на главната страница на блога. Таксономията на архива, потребителят извлича най-новите записи таксономия.

Това означава, че можете да промените заявка с помощта на методите на класа, преди да пуснете WordPress основната линия. Ако това ви звучи като не е ясно за вас, не се притеснявайте - ще дам практически примери за това как работи през следващите няколко секции на тази статия.

По подразбиране, типове потребителски запис, не са включени в искането. Ако дефинираме аргументите, които се предават на WP_QUERY и искат да го включи като стандартен запис и запис на дефинирани от потребителя тип "джедаите", нашият аргумент трябва да изглежда така:

В следния код, ние използваме набор (). post_type за промяна на аргумента, който по подразбиране, която използва за запис на множество видове справки, включително записи и потребителите ни регистрира типа на "джедаите".

Обстановката е $ заявка е WP_QUERY обект, преди да се активира, за да запълни основната линия.

От страницата може да съдържа няколко цикъла, като тези, използвани джаджи, ние използваме състоянието на функция is_main_query (). за да се уверите, че това се отразява само основната линия, както и промени във всички второстепенни цикли страници.

йерархия архиви

Точно както, когато създавате свои собствени записи таксономия WP_Query, WP_Query основната линия използва за tax_query аргументи таксономия на записите.

tax_query е include_children аргумент. за който по подразбиране е 1 или истина. Променете я на 0 или невярно. ние можем да изключат от записването на архив с дъщерни условия:

Резултатът изглежда приемливо по принцип, но има някои сериозни недостатъци. Това е нормално, защото, когато ние се справят с тези недостатъци, това е първата стъпка към създаването на нещо наистина страхотно.

Първият и най-големият проблем е, че резултатът не е страница за архивиране, която показва дъщерни условия; тя все още е рекорд с термина родител. Друг проблем е, че не съществува задоволителен начин да отиде в архива на срока на дете.

Също така, имайте предвид, че винаги можете да наслагвате промените, за да тагове при състояния като is_category () или is_tax (). но много скоро може да доведе до претрупване на кода; Затова е по-логично да се направи копие archive.php файл и премахване на всички ненужни код.

В първия етап, ние положи всички елементи вътре в елемента, които ще проверяват дали са налице в настоящия мандат на детето условията на таксономия. Ако не, тогава ние не искаме да се покаже нищо. Ние използваме get_term_children (). която връща празен масив, ако текущия срок все още няма подчинените елементи, които ние можем да се провери с помощта! празен ().

За да се направи всичко това за всяка класификация, която може да се възпроизвежда, ние трябва да получите текущата таксономията и план таксономия от масив query_vars глобален обект $ wp_query. таксономия плужек, съдържаща се в таксономията на ключа, и куршумът на срока - в данъчната ключ.

За да използвате get_term_children (). имаме нужда от план за самоличност. ID не се съдържа в query_vars. но за да го получи, ние можем да прехвърли куршума в get_term_by ().

Ето как ние се цялата информация в променливите ние необходими:

Ние продължаваме лечение само ако $ условия не е празен масив. За да се провери дали тя е празна, за първи път отново да попълните условията използване get_terms (). Това е необходимо, защото get_term_children връща само един набор от документи за самоличност.

И ние трябва номерата и имената, които се съдържат в обекта, върнат от get_terms (). Ние можем да пропуснете този обект чрез една линия и показва имената, под формата на линкове. Връзки могат да бъдат генерирани чрез преминаване идентификатори по отношение get_term_link ().

Създаване на ваша собствена целева страница архив таксономия

Ако йерархична класификация, не съдържа условията за майки най-високо ниво, а стандартната таксономия файловата система ще бъде безполезен за вас. Вместо това, вие искате да се показват връзки към по-ниските нива на йерархията.

В този случай, можете да създадете свои собствени условия на целевата страница. Ние използваме отново query_vars. за да се определи дали потребителят е на първата страница на таксономията на файл; ако това е така, ние използваме taxonomy_archive филтър. да се включи отделна шаблон:

Това обаждане първо проверява дали потребителят е в действителност в таксономията, че искаме да се насочите. Ние можем да направим проверка на всички класификации използване is_tax ().

Какво ви постави в този конкретен модел зависи само от вас. Можете да създадете списък с термини, с помощта на кода по-горе. Всъщност, можете да отпечатате всичко, което искате - например, повече информация относно условията на таксономията, или връзки към конкретни записи.

заключение

Прекарването на известно време, можете да настроите основния архитектура на WordPress. който все още бе хвърлен в затвора по силата на първоначалната си цел - един блог платформа, задача, почти всеки уеб сайт или уеб приложение.

Използване на потребителски класификации за организиране на съдържание в зависимост от вашите нужди, ще ви помогне в развитието на много от вашите проекти от WordPress.

Превод на статията «Персонализиране на WordPress архив За категории, тагове и други класификации» е изготвен от екип от приятелски Уеб дизайн проект от А до Я.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!