Извеждане на дъщерни таксономии

Има нужда от показване на персонализирани таксономии.

Има родителски таксономии - 1. Ръководство. 2. Офис и др. Има дъщерни таксономии 1. Директори. 2. Мениджъри, които принадлежат към родителската таксономия "Мениджмънт".

В резултат на това получавам списък с всички персонализирани таксономии (заглавия) за персонализираната таксономия „our_personal“.

Само тук, според TK, показах родителските таксономии в менюто на сайта, а дъщерните трябва да се показват отделно. Задача. списък на дъщерни таксономии?

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

Таксономиите нямат йерархия. Термините могат да имат йерархия.

Сред параметрите на функцията get_terms() е 'child_of', с който можете лесно да получите масив от деца на даден термин.

Благодаря ти. Върши работа. Въпреки това е възможно да се показват само определени таксономии за всички страници наведнъж. Тоест, има родителска таксономия с ID=7. Посочвам 'child_of' => 7 и в резултат получавам дъщерни таксономии от родителя с ID=7. Но те се показват за всички страници наведнъж.

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

Намерих примерен код в мрежата, но все още не съм разбрал как да го използвам, за да се справя със задачата.

Получавам дъщерни таксономии от родителя, който има ID=7. Но те се показват за всички страници наведнъж.

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

Глоба. Ще се опитам да го формулирам отново.

1. Създадени потребителски типове публикации и регистрирани таксономии за тях (името на регистрираните таксономии е „our_personal“). 2. След това през админ панела създадох заглавията „мениджмънт“, „директори“, „мениджъри“. 3. Заглавията "директор", "мениджъри" посочиха, че родителят за тях ще бъде заглавието "ръководство". 4. Създаде файл taxonomy-personal.php и конфигурира изхода на публикации чрез новия WP_Query във файла. 5. Поставих в менюто на сайта рубриката "мениджмънт" и съответно на страницата ми излизат всички служители от рубриката "директор". 6. И съответно вътре в този файл трябва да покажете меню със заглавия "директори" и "мениджъри". (същото важи и за други категории, категорията родител е в менюто, а категориите, принадлежащи към родителя, са на страницата, където се показват публикациите от категорията родител).

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

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

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

Вече малко по-добре 🙂

Дадохте кода по-горе (също не без терминологично объркване). Има всичко необходимо.

резултатът е термин обект. Неговият ID = $term->term_id Ако искаме родителския ID на този термин, той е$term->parent Избройте дъщерни термини по следния начин:

Създаде файл taxonomy-personal.php и конфигурира изхода на публикации чрез новия WP_Query във файла.

Защо лично, а не our_personal? Защо нова WP_Query?

По този начин, когато заявявате терминални елементи, можете да посочите променлива, съдържаща текущия идентификатор на родителската категория за параметъра child_of и в резултат на това получаваме списък с онези категории, които принадлежат към определена таксономия (категория), чиито публикации се показват на страницата. $terms = get_terms($taxonomy, array( 'child_of' => $term_id ) );

  • Отговорът е променен 1 година, 11 месеца. преди от LLIypuk.