#wordpress
#wordpress
Вопрос:
У меня есть друг, который попросил меня создать сайт для него и двух друзей, чтобы они писали обзоры фильмов. Я довольно хорошо разбираюсь в WordPress, так что это был очевидный выбор для сайта. Единственная трудность, с которой я сталкиваюсь, заключается в том, что каждый из них планирует написать рецензию на один и тот же фильм, и я не могу придумать, как привлечь нескольких авторов в один пост.
Я проверил несколько плагинов, таких как Co-Author Plus, которые позволяют нескольким авторам ссылаться на один и тот же пост, но это не обеспечивает функциональность для хранения контента каждого автора отдельно.
Единственное решение, которое я могу придумать, это использовать пользовательские поля, но я бы предпочел, чтобы авторы могли использовать главный редактор контента для своих обзоров. Любая помощь приветствуется!
Комментарии:
1. Должно быть лучше, чтобы 1 отзыв = 1 сообщение, не так ли?
2. Предпочтительно, да. Но как бы я их сгруппировал?
Ответ №1:
Как я уже сказал, было бы лучше иметь 1 отзыв = 1 сообщение.
Итак, я думаю, что лучшим способом добиться этого должно быть создание типов сообщений :
- Фильм
- обзор с полем ссылки на фильм
И измените шаблон поста, чтобы фильм и связанные с ним обзоры отображались на одной странице.
Альтернативным решением должно быть использование таксономии для обработки фильмов и прикрепления к ним сообщений.
Ответ №2:
Я столкнулся с той же проблемой, пытаясь выяснить, как это сделать, и я последовал совету соджу и придумал решение. Возможно, есть лучшее решение для этого, но я поступил именно так. Я и мой друг ведем блог с обзорами аниме, и мы с ним будем писать обзоры на одно и то же аниме.
Сначала я создал два типа сообщений:
- аниме: главная страница конкретного аниме, например, описание, картинки и т.д.
- отзывы: авторский отзыв об аниме. параметры, которые я включил здесь, — это редактор, заголовок и автор. Вместе с соответствующей таксономией аниме. Это все, что здесь нужно
Затем я создал таксономию для названий аниме, поэтому, когда пользователю нужно написать отзыв об аниме, которое еще не было добавлено в качестве отзыва, они могут добавить название в таксономию.
Я связал таксономию как с post_types, так и с wala! Это практически все, что вам нужно.
Итак, теперь, когда вы хотите написать новый обзор для нового аниме, вы сначала добавляете тип аниме-поста и записываете, о чем аниме, включаете картинки и т.д. Добавьте заголовок в таксономию и проверьте его. После этого вы создаете новый пост типа «Отзывы» и пишете свой отзыв, не забудьте проверить правильное название в вашей таксономии для того, к какому аниме это относится, тогда вы готовы к работе!
Проблема 1: Как мне включить это в свой цикл?
Ну, вы не хотите включать оба типа сообщений в свой цикл, вы просто хотите включить сообщения и другой тип сообщения anime в свой цикл, поэтому вы делаете следующее в своем functions.php файл:
function include_custom_post_types( $query ) {
global $wp_query;
// Get all custom post types
$custom_post_type = get_query_var( 'post_type' );
// Get all post types
$post_types = get_post_types();
// If what you are getting is a category or a tag or that there are no custom
// post types you just want to set the post types to be the current post types
if ( (is_category() || is_tag()) amp;amp; empty( $custom_post_type ))
$query->set( 'post_type' , $post_types );
// Set the custom post types you want to ignore
$ignore_types = array('reviews');
//Unset the post types that are gonna be ignored
foreach($post_types as $key=>$type)
{
if(in_array($type,$ignore_types))
{
unset($post_types[$key]);
}
}
// Set the post types for the query
if ( (is_home() amp;amp; false == $query->query_vars['suppress_filters']) || is_feed())
$query->set( 'post_type', $post_types);
return $query;
}
add_filter( 'pre_get_posts' , 'include_custom_post_types' );
Проблема 2: Как мне отобразить отзывы?
Я решил это, создав другой single.php файл и переименовал его в single-post_type_name.php . Итак, в этом случае я создал single-anime.php файл для моего поста типа аниме. Затем вместо содержимого я хочу получить все обзоры для этого конкретного аниме, поэтому я добавил следующее в файл в области основного содержимого:
<?php
//You grab the taxonomy that you have selected for this post
$terms = wp_get_post_terms(get_the_ID(), 'animes_reviewed');
// This is the args array for the criteria that the posts need to be in
$args = array(
// This is the post type of where your reviews are at
post_type' => 'reviews',
// this is for searching the taxonomy usually it's
// taxonomy_name => checked_taxonomy
'anime' => $terms[0]->name,
'post_status' => 'publish'
);
// Grab the posts
$posts = get_posts($args);
//Here I echo out the information for debugging purpose, but
//Here is where you can do HTML to display your reviews
foreach($posts as $post)
{
echo($post->post_content);
the_author_meta( 'nickname', $post->post_author);
}
?>
Вы можете сделать намного больше с помощью этого, добавив больше таксономий и т.д. На самом деле я реализовал обзор эпизода, просто добавив таксономию и критерии для поиска в разделе публикации. Надеюсь, это поможет вам, хотя может быть немного поздно: ( Спасибо soju за рекомендацию пользовательских типов сообщений!