Несколько авторов на одном посту в Wordpress - PullRequest
0 голосов
/ 10 мая 2011

У меня есть друг, который попросил меня создать для него сайт, и двое друзей, чтобы написать рецензии на фильмы. Я очень хорошо разбираюсь в Wordpress, так что это был очевидный выбор для сайта. Единственная трудность, с которой я сталкиваюсь, заключается в том, что каждый из них планирует написать рецензию на один и тот же фильм, и я не могу придумать, как добиться нескольких авторов в одном посте.

Я проверил несколько плагинов, таких как Co-Author Plus, который позволяет нескольким авторам зачисляться на один пост, но он не обеспечивает функциональность для хранения контента каждого автора отдельно.

Единственное решение, которое я могу придумать, - это использовать настраиваемые поля, но я бы предпочел, чтобы авторы могли использовать редактор основного контента для своих обзоров. Любая помощь с благодарностью!

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Я столкнулся с той же проблемой, пытаясь выяснить, как это сделать, и я последовал совету соджу и нашел решение.Возможно, есть лучшее решение, но я так и поступил.Я и мой друг ведем блог с обзорами аниме, и я и он будем писать рецензии на одно и то же аниме.

Сначала я создал два типа постов:

  • anime: mainстраница по конкретному аниме, например описание, картинки и т. д.
  • рецензии: авторский обзор по аниме.опции, которые я включил здесь, это редактор, заголовок и автор.Наряду с связанной таксономии аниме.Вот и все, что нужно здесь

Затем я создал таксономию для названий аниме, чтобы, когда пользователю нужно написать рецензию на аниме, которая еще не добавлена ​​в качестве рецензии, он может добавить заголовок втаксономия.

Я связал таксономию и с post_types, и с wala!Это почти все, что вам нужно.

Так что теперь, когда вы хотите написать новый отзыв для нового аниме, вы сначала добавляете тип поста аниме и записываете, что такое аниме, включаете картинки и т. Д. Добавьте заголовокв таксономии и проверить его.После этого вы создаете новое сообщение с типами отзывов и пишете свой отзыв, не забудьте проверить правильное название в своей таксономии, чтобы узнать, к какому аниме это относится, и вы готовы к работе!

Задача 1: Как мне включить это в мой цикл?

Ну, вы не хотите включать оба типа постов в свой цикл, вы просто хотите включить посты и другое аниме типов постов в свой цикл, поэтому вы делаете следующеев вашем файле 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()) && 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() && 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);
    }
?>

С этим добавлением вы можете сделать намного больше.таксономии и т. д. Я фактически реализовал обзор эпизодов, просто добавив таксономию и добавив критерии для поиска в разделе сообщений.Надеюсь, это поможет вам, хотя может быть немного поздно :( Спасибо, соджу за рекомендацию пользовательских типов сообщений!

0 голосов
/ 10 мая 2011

Как я уже сказал, лучше иметь 1 отзыв = 1 пост.

Итак, я думаю, что лучший способ добиться этого - создавать типы постов:

  • фильм
  • рецензия с полем ссылки на фильм

и изменение шаблона публикации для отображения фильма и связанных рецензий на одной странице.использовать таксономию для обработки фильмов и прикреплять к ним сообщения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...