Архитектура данных / контента в WordPress 3.1 - PullRequest
1 голос
/ 21 октября 2011

Обновление

Я решил это следующим образом:

Что вам нужно:

  1. Пользовательский тип сообщения
  2. Включен плагин "Сообщения 2Сообщения "(см. Комментарии ниже)
  3. Включен плагин" Разрешить числовые заглушки"

Вам понадобится плагин" Сообщения 2 сообщения ", чтобы назначать сообщения tpстраницы.«Разрешить числовые заглушки» это плагин, который позволит вам иметь числовые слагов для страниц.Если вы попытаетесь добавить страницы с именами на 2011 или 2012, вы получите Page-Slugs, такие как 2011-2 или 2012-2, потому что невозможно иметь слаг страницы, который является числом.

Сначала вы должныдобавить несколько страниц.Например, 2011, Номинанты и Актеры.Теперь вы настраиваете страницы как дочерние для ваших нужд.

2011
    -Nominees
        --Actors

Ваш URL теперь будет выглядеть как http://example.com/2011/nominees/actors

Теперь вам нужно добавить пользовательский тип сообщения, содержащий ваших кандидатов.Добавьте несколько кандидатов в ваш тип поста (должен работать и со статьями).

Зарегистрируйте тип соединения в вашем functions.php

function my_connection_types() {
    // Make sure the Posts 2 Posts plugin is active.
    if ( !function_exists( 'p2p_register_connection_type' ) )
        return;

    p2p_register_connection_type( array(
        'id' => 'posts_pages',
        'from' => 'page',
        'to' => 'nominees' // Your Post-Type
    ) );
}
add_action( 'init', 'my_connection_types', 100 );

Теперь перейдите на страницу Actor, найдитеMetaBox с именем «Подключенные номинанты» и добавьте своих кандидатов.

Отредактируйте страницу. Php

<article class="single entry">

    <header class="post post-header">

        <h1><?php the_title(); ?></h1>            

    </header>

    <section class="post post-content">

        <?php the_content(); ?>

        <?php
        // Find connected pages
        $connected = p2p_type( 'posts_pages' )->get_connected( get_queried_object_id() );

        // Display connected pages
        if ( $connected->have_posts() ) :
        ?>

        <?php while ( $connected->have_posts() ) : $connected->the_post(); ?>
            <h2><?php the_title(); ?></h2>
            <?php the_content(); ?>
        <?php endwhile; ?>


        <?php 
        // Prevent weirdness
        wp_reset_postdata();

        endif;
        ?>
    </section>

</article>

Теперь вы сможете видеть своих подписанных постов (номинантов) на своих страницах.1035 *

Это простое для понимания решение для авторов, поскольку они работают с режимами WordPress по умолчанию, а процесс подключения к контенту выглядит действительно нативным.


Мне нужны некоторые рекомендации по архитектуре данных вWordPress 3.1.n

Вот факты:

  • Это своего рода награда
  • Премия имеет **n** различных категорий
  • Люди могут быть номинированы
  • Каждый кандидат может быть связан с 1 категорией
  • Каждая категория сгруппирована по году
  • Каждая категория может содержать до 3 или 5 кандидатов

Категория/ термины (?)

2011

  • актер
  • спецэффекты
  • сюжет

2012

  • актер
  • спецэффекты
  • story

Например:

Примечание: пользовательские пост-типы и пользовательские таксономии хороши, ноя не могу заставить работать иерархические термины таксономии.

У кого-нибудь есть предложения по решению этой проблемы с WordPress?

1 Ответ

2 голосов
/ 21 октября 2011

Вы можете подумать о создании типа поста «Награда» с категориями, являющимися типами наград ... Лучший актер, Спецэффекты и т. Д. Также вы можете пометить каждый пост наград в соответствии с тем, какой он год.Мне нравится отмечать год по сравнению с годом как категорию, потому что это дает вам возможность создавать и масштабировать контент по годам по мере роста сайта.Однако категория также будет работать.

Затем, возможно, создайте тип поста «Актер» с именем каждого актера, это даст дополнительное преимущество, поскольку вы сможете масштабироваться, если вы захотите расширить профили актеров в будущем.Затем рассмотрите возможность их подключения, используя что-то вроде плагина «Posts 2 Posts». Плагин здесь

Этот плагин отлично подходит для связывания постов с другими постами, такими как «обзор» с постом «продукт».По сути, вы будете делать то же самое, за исключением того, что «обзор» будет заменен на «премию», а «продукт» будет связан с «актером».

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