Извеждане на дъщерни таксономии
Има нужда от показване на персонализирани таксономии.
Има родителски таксономии - 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.