Архитектура данных / контента в WordPress 3.1

#wordpress #architecture

#wordpress #архитектура

Вопрос:

Обновить

Я решил это таким образом:

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

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

Вам понадобится плагин «Posts 2 Posts», чтобы назначать публикации на страницы. «Разрешить числовые заглушки» — это плагин, который позволит вам иметь числовые заглушки для страниц. Если вы попытаетесь добавить страницы с именами 2011 или 2012, вы получите страницы-слизни, такие как 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 );
  

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

Отредактируйте свой page.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>
  

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

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


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

Вот факты:

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

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

2011

  • актер
  • специальные эффекты
  • История

2012

  • актер
  • специальные эффекты
  • История

Например:

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

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

Комментарии:

1. Пожалуйста, уточните, что я не могу получить работу с терминами таксономии .

2. Я считаю, что иерархия с терминами, ОТЛИЧНЫМИ от категорий (которые хранятся в таблице таксономии вместе со всеми другими терминами), не поддерживается WordPress. Возможно, именно поэтому у вас возникли проблемы с этим.

3. @JasonMcCreary Я подробно рассмотрю проблему завтра, обновив свой первоначальный пост.

Ответ №1:

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

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

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

Комментарии:

1. Поддерживает ли плагин «Posts 2 Posts» URL-адреса, упомянутые выше?

2. Он только устанавливает отношения, однако вы должны иметь возможность вручную указывать их в wp-admin ИЛИ с помощью плагина, такого как All in One SEO (отличный плагин, кстати.) Найдите это на wordpress.org/extend/plugins/all-in-one-seo-pack

3. Кроме того, вы можете указать некоторые настройки URL при регистрации нового типа публикации. Если вы хотите, чтобы пользовательский интерфейс делал это, я настоятельно рекомендую wordpress.org/extend/plugins/custom-post-type-ui

4. Что вы думаете об этом способе? 1. добавьте страницу с именем 2011 года; 2. добавьте страницу (как дочернюю страницу 2011 года) с именем категории (актеры); 3. добавьте пользовательский тип записи: номинанты; 4. добавьте несколько номинантов; 5. Свяжите соответствующих номинантов с помощью плагина «Posts 2 Posts» с категорией страницы (актеры).

5. Я попробовал, и, похоже, это работает 🙂 Бонус: авторам легко понять. Они работают с поведением WordPress по умолчанию, и процесс подключения к контенту кажется естественным. Спасибо!