Файлы attachment — это все что мы загружаем на сайт: изображения, документы, аудио и т.д.
Файлы attachment в поиске
Поместить в файл functions
// attachment в выводе поиска function SearchFilter($query) { if ($query->is_search) { $query->set('post_type', array('attachment','post','page')); $query->set('post_status', array('publish','inherit')); } return $query; } add_action('pre_get_posts','SearchFilter');
Структурирование медиафайлов
Все в functions.php
Регистрируем что-то (не знаю для чего)
function wptp_register_attachments_tax() { } add_action( 'init', 'wptp_register_attachments_tax', 0 );
Регистрируем таксономию gallery-category
register_taxonomy( 'gallery-category', 'attachment', array( 'labels' => array( 'name' => 'Gallery Categories', 'singular_name' => 'Gallery Category', 'search_items' => 'Search Gallery Categories', 'all_items' => 'All Gallery Categories', 'edit_item' => 'Edit Gallery Categories', 'update_item' => 'Update Gallery Category', 'add_new_item' => 'Add New Gallery Category', 'new_item_name' => 'New Gallery Category Name', 'menu_name' => 'Gallery Category', ), 'hierarchical' => true, 'sort' => true, 'show_admin_column' => true ) );
Это для шаблона вывода таксономии gallery-category
// добавление вложений в основной запрос с помощью фильтра parse_query и функции wptutsplus_add_attachments_to_tax_query() function wptutsplus_add_attachments_to_tax_query() { global $wp_query; // When inside a custom taxonomy archive include attachments if ( is_tax( array( 'document-category', 'gallery-category' ) ) ) { $wp_query->query_vars['post_type'] = array( 'attachment' ); $wp_query->query_vars['post_status'] = array( null ); return $wp_query; } } add_action('parse_query', 'wptutsplus_add_attachments_to_tax_query');
Шаблон вывода таксономии gallery-category
Создаем файл с именем taxonomy-gallery-category.php
<?php get_header(); ?> <div align="center" class="wrapper"> <div class="wrapper-2"> <div id="main-content"> <div id="content"> <div class="pre-post-content"> <?php $queried_object = get_queried_object(); echo '<h1 id="title">Gallery - ' . $queried_object->name . '</h1>'; ?> <div id="path"><?php if (function_exists('dimox_breadcrumbs')) dimox_breadcrumbs(); ?></div> </div> <?php if ( have_posts() ) : ?> <section class="gallery <?php echo $queried_object->name; ?>"> <?php // Start the Loop. while ( have_posts() ) : the_post(); // define attributes for image display $imgattr = array( 'alt' => trim( strip_tags( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ) ) ), ); ?> <div class="gallery-image"> <a href ="<?php $src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'full', false ); echo $src[0]; ?>"> <?php echo wp_get_attachment_image( $post->ID, 'thumbnail', $imgattr ); ?> </a> <a href ="<?php echo get_attachment_link(); ?>"><?php the_title(); ?></a> </div> <?php endwhile; ?> </section> <?php else : // If no content, include the "No posts found" template. get_template_part( 'content', 'none' ); endif; ?> <?php include(TEMPLATEPATH."/tax-navigate.php");?> </div> <!-- end content --> </div> <!-- end main-content --> </div> </div> <?php get_footer(); ?>[site-socialshare]