Должны ли посты иметь родителей? Если так, что бы это значило для поста иметь родителя?
Кроме того, если существуют какие-либо ограничения для постов, имеющих родителей, то где это применяется? Не в БД, как я вижу.
Должны ли посты иметь родителей? Если так, что бы это значило для поста иметь родителя?
Кроме того, если существуют какие-либо ограничения для постов, имеющих родителей, то где это применяется? Не в БД, как я вижу.
Ответы:
Из коробки нет, посты не могут иметь родителей. Их можно назначить категориям, которые могут быть организованы иерархически. Страницы, однако, могут иметь родителей, и с помощью этой функции вы можете построить из них структуру меню.
Относительно того, где это необходимо: родительский элемент сообщения хранится в столбце «post_parent» в «wp_posts». На самом деле он не применяется как таковой, просто пользовательский интерфейс по умолчанию не дает вам возможности установить его, а WP-кодирование по умолчанию не использует это значение для сообщений. Хотя было бы не сложно создать собственный тип сообщений, чтобы иметь сообщения с родителями.
post_parent
другой «post_id», как было бы 0
иначе.
В 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;
С точки зрения поисковой системы, два из этих ответов вместе помогут Google отслеживать иерархию ваших сообщений, а также, конечно, пользователей.
Добавьте страницу и используйте ее для размещения своих сообщений. «Лучший способ установить родительскую страницу для всех ваших сообщений - через меню (Внешний вид -> Настроить). Вы можете установить статическую страницу для домашней страницы или страницы сообщений. Когда вы устанавливаете статическую страницу публикации, эта страница будет быть родителем для каждого отдельного сообщения в блоге. "
Измените структуру постоянных ссылок на / blog /% postname%, как указано выше. «Предположим, что вы хотите добавить блог перед публикацией в URL, а затем убедитесь, что имя слаг-страницы вашей страницы блога - blog.
Затем перейдите в WP-admin-панель> Настройки> Постоянная ссылка и выберите последний вариант «Пользовательская структура» и добавьте в него следующее:
/ Блог /% postname% /
и сохранить изменения. Он будет применен только к вашей странице блога, на другой странице он не будет отображаться как родительский. "
Таким образом, Google видит иерархию в файлах сайта как domain.com/page/post (в таком порядке), а также находит содержимое в том же месте. Как и пользователи. Работа сделана.
Предположим, что вы хотите добавить блог перед публикацией в URL, а затем убедитесь, что имя слаг-страницы вашей страницы блога - blog.
Затем перейдите в WP-admin-панель> Настройки> Постоянная ссылка и выберите последний вариант «Пользовательская структура» и добавьте в него следующее:
/blog/%postname%/
и сохранить изменения.
Он будет применен только к вашей странице блога, другая страница не будет отображать блог как родительский.
Я знаю, что это старый пост. Однако ни один из этих ответов не является правильным, и я хотел опубликовать решение, которое использовал для решения этой проблемы. Лучший способ установить родительскую страницу для всех ваших сообщений - через меню (Внешний вид -> Настроить). Вы можете установить статическую страницу для вашей домашней страницы или страницы сообщений. Когда вы устанавливаете статическую страницу сообщения, эта страница будет родительской для каждого отдельного сообщения в блоге.
post_parent
столбец, чтобы определить, к какой странице / публикации (включая пользовательские типы записей) они прикреплены.