Чи можуть посади мати батьків?


13

Чи повинні мати посади батьки? Якщо так, що це означає для батьків, які мають батьків?

Крім того, якщо існують певні обмеження в посадах батьків, то де це застосовується? Не в БД, як я це бачу.

Відповіді:


15

Ні, у коробці немає записів батьків. Вони можуть бути віднесені до категорій, які можна організувати ієрархічно. Сторінки, однак, можуть мати батьків, і ви можете створити з них структуру меню за допомогою цієї функції.

Щодо того, де це застосовується: Батьків допису зберігається у стовпці "post_parent" у "wp_posts". Він насправді не застосовується як такий, просто інтерфейс за замовчуванням не дає вам можливості його встановити, і кодування WP за замовчуванням не використовує це значення для Постів. Було б не надто складно створити спеціальний тип публікації, щоб мати публікації з батьками.


2
Також зауважте, що медіа-додатки використовують post_parentстовпець, щоб визначити, до якої сторінки / публікації (включаючи власні типи публікацій), до якої вони додані.
Девід Гард

@DavidGard Ви маєте рацію. Але я думаю, що ця функціональність не вплине, якщо ми призначимо post_parentінший "post_id", як це було б 0інакше.
Незнайомець

11

Wp має вбудовані "Сторінки" (ієрархічні, батьки дозволені) та "Повідомлення" (неієрархічні). Є й інші типи публікацій, але залишимо це далеко.

Якщо Q призводить до:

Чи можу я мати ієрархічні посади?

Тоді відповідь - так ,… у вас можуть бути ієрархічні "пости". Але оскільки вони не вбудовані, вам доведеться зареєструвати свій власний тип публікації - див. Аргументи »ієрархічні.

Такі "дописи" (або статті, що б там не було ...) потім, якщо вони мають батьківський пост, встановлять батьківський ідентифікатор всередині свого об'єкта. Отже, в циклі ви можете зробити наступне:

if ( have_posts )
{
    the_post();
    // etc.

    global $post;
    // call parent: http://codex.wordpress.org/Function_Reference/get_post
    $parent = get_post( $post->post_parent );

    echo "<h2>{$post->post_title} is a child of {$parent->post_title}";

    // etc.
} // endif;

2
Цвях його ідеально. Саме те, що я шукав.
Paras Shah

-1

З точки зору пошукової системи дві з цих відповідей допоможуть Google відстежувати ієрархію ваших публікацій, а також, звичайно, користувачів.

  1. Додайте сторінку та використовуйте її для розміщення своїх публікацій. "Найкращий спосіб встановити батьківську сторінку через усі ваші публікації - через меню (Зовнішній вигляд -> Налаштувати). Ви можете встановити статичну сторінку для своєї домашньої сторінки або сторінки публікацій. Коли ви встановите статичну сторінку публікації, ця сторінка буде бути батьків для кожної окремої публікації в блозі ".

  2. Змініть структуру постійної посилання на / blog /% postname%, як згадувалося вище. "Припустимо, ви хочете додати блог перед публікацією в URL-адресі, ніж переконайтеся, що ім'я кулі сторінки вашого блогу - це блог.

Потім перейдіть до WP-панелі адміністратора> налаштування> постійна посилання та виберіть останній варіант "спеціальна структура" та додайте в неї наступне:

/ блог /% прізвище% /

і зберегти зміни. Він буде застосований лише до вашої сторінки блогу, інша сторінка не буде відображати блог як батьківську. "

Таким чином, Google бачить ієрархію в мапах сайтів як domain.com/page/post (у такому порядку), а також знайде вміст у тому самому місці. Як і користувачі. Робота виконана.


-4

Припустимо, ви хочете додати блог перед публікацією в URL-адресі, ніж переконайтеся, що ім'я кулі сторінки вашого блогу - це блог.

Потім перейдіть до WP-панелі адміністратора> налаштування> постійна посилання та виберіть останній варіант "спеціальна структура" та додайте в неї наступне:

/blog/%postname%/

і зберегти зміни.

Він буде застосований лише до вашої сторінки блогу, інша сторінка не буде відображати блог як батьківську.


-6

Я знаю, що це стара публікація. Однак жодна з цих відповідей не є правильною, і я хотів опублікувати рішення, яке використовував для вирішення цієї проблеми. Найкращий спосіб встановити батьківську сторінку через усі ваші публікації - через меню (Зовнішній вигляд -> Налаштувати). Ви можете встановити статичну сторінку для своєї домашньої сторінки або сторінки публікацій. Якщо ви встановите статичну сторінку публікації, ця сторінка буде батьківською для кожної окремої публікації в блозі.


2
Це не батьківська сторінка - це шаблон, що містить архів публікацій. Якщо налаштувати, повідомлення не ієрархічно.
кайзер

Як це не батьківська сторінка? Це статична сторінка (яка, до речі, не повинна бути архівом, незалежно від того, який шаблон сторінки ви присвоюєте цій статичній сторінці, може мати все, що завгодно), і коли це налаштовано, ваші URL-адреси слідкуйте за цією ієрархією, а також Breadcrumbs на сайті. Це 1-хвилинне виправлення, яке дозволяє призначити статичну сторінку батьківським повідомленням. Його питання згадує НІЧОГО про те, що це в першу чергу є ієрархічною. Можливо, ви могли б просвітити мене про те, як це рішення буде поганою практикою?
пізно

"Чи повинні публікації мати батьків" - це те саме, що і "Є повідомлення ієрархічними". Шаблон може містити все , але простий факт, що він містить цикл, який повертає та відображає цикл архіву, не (а) робить сторінку батьківською (це просто місце, де відбувається цикл) і (b) не зробити вбудований в пост тип "пост" ієрархічним або іншими словами, не призначає батьків. Але так, ви можете викликати повідомлення в циклі за певними критеріями (наприклад, спільна дочірня категорія).
кайзер

Не кидайтеся критикою чи уточненням вашого питання чи відповіді. Це місце - це те, де це насправді має відбуватися весь час, щоб найкращі відповіді мали успіх і слугували місцем вікі / бібліотеки, куди можна зайти і миттєво з’ясувати, як щось зробити або отримати якомога більше уявлень про те, як щось працює. Ми навіть закликаємо людей (як ви) коментувати й інші відповіді. Майте на увазі, що я ніде не згадував, що ваша відповідь є поганою практикою . Це правда багатьма способами, лише твердження про те, що це робить ієрархічний тип публікації, не є.
кайзер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.