Несколько экземпляров плагина nivo slider
Я использую Wordpress в качестве CMS для этого сайта
Http://www.seadragon.co.uk/new_site/portfolio.html
...и это первый раз, когда я использую wordpress, так что извините, если я неправильно понимаю терминологию....
Мой клиент должен иметь возможность добавлять новые проекты (тематические исследования) в раздел портфолио, и у каждого из них может быть свое собственное слайд-шоу.
Я подумал, что они могли бы создать новую категорию сообщений для каждого слайд-шоу проекта, а затем новую страница для каждого проекта.
Проблема, с которой я столкнулся, заключается в том, как заставить моего клиента связать категорию сообщений со страницей проекта (чтобы я мог динамически добавлять правильные сообщения категории в слайд-шоу). Я подумал, может быть, я мог бы попытаться заставить их использовать одно и то же соглашение об именах для категории, которую она создает (для проекта sildeshow), и страницы, которую она создает (для проекта)? Похоже ли это на то, что это сработает? Есть ли лучший способ, которым я могу это сделать, или другой плагин, который был бы лучше подходящий.
Вот код из моего шаблона портфолио... в настоящее время идентификатор категории жестко закодирован в запросе.
<div id="slider">
<?php
//Reset Query
//wp_reset_query();
global $wp_query;
$query = "post_type=post&cat=5";
$wp_query = new WP_Query( $query );
if ( have_posts() ) : while ( have_posts() ) : the_post();
echo get_the_post_thumbnail($post->ID, 'large');
?>
<?php
endwhile; endif;
?>
</div>
<script type="text/javascript">
$(window).load(function() {
$('#slider').nivoSlider();
});
</script>
Надеюсь, в этом есть какой-то смысл?
Большое спасибо.
Изменить: Исправлено форматирование, чтобы отображался образец встроенного кода
1 answers
Лучшим решением было бы создать тип записи "Проект" и пользовательскую таксономию для разделения различных типов проектов.
Недавно я сделал это на своем собственном веб-сайте, потому что хотел, чтобы мои проекты были отделены от остального контента. Я использовал цикл jQuery вместо Nivo, но концепция та же.
Пользовательские типы записей имеют встроенный пользовательский интерфейс, поэтому добавление новых проектов не приведет к путанице для вашего клиента.
Это также позволит вам настроить способ отображения "Проектов" с помощью single-project.php файл шаблона.
Я не буду вдаваться в то, как регистрировать типы сообщений, потому что Кодекс очень хорошо объясняет это, но я покажу вам, как получить все прикрепленные изображения к сообщению и отобразить их в слайдере.
<?php
//The following code is for a sample single-post_type.php
?>
<?php get_header(); ?>
<div id="content">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h1 class="project-title"><?php the_title(); ?></h1>
<div class="entry">
<div id="slider">
<?php
// This gets all the images attached to the current post inside the loop
$args = array(
'post_type' => 'attachment',
'posts_per_page' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
echo wp_get_attachment_image($attachment->ID,'medium', false);
}
} ?>
</div> <!-- /slider -->
<?php the_content(); ?>
</div> <!-- /post -->
<?php endwhile; else: ?>
<p><?php _e('Not Found','your_theme_name'); ?></p>
<?php endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>