Я создаю шаблон WordPress, который может использовать пользовательские таксономии (например, категории). Я хочу, чтобы каждый раз, когда я нажимал на категорию сообщения, он отображал список сообщений этой категории. вот мой category.php.
<?php get_header(); ?>
<body>
<div id="container">
<div id="header"><h1><a href="<?php echo get_option('home'); ?>"><?php bloginfo('name'); ?></a></h1></div>
<div id="menu"><?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'menu_class' => 'nav', 'theme_location' => 'primary-menu' ) ); ?></div>
<div id="content">
<div id="blog">
<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php /* If this is a category archive */ if (is_category()) { ?>
<h2>Archive for the ‘<?php single_cat_title(); ?>’ Category:</h2>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<h2>Posts Tagged ‘<?php single_tag_title(); ?>’</h2>
<?php /* If this is a daily archive */ } elseif (is_day()) { ?>
<h2>Archive for <?php the_time('F jS, Y'); ?>:</h2>
<?php /* If this is a monthly archive */ } elseif (is_month()) { ?>
<h2>Archive for <?php the_time('F, Y'); ?>:</h2>
<?php /* If this is a yearly archive */ } elseif (is_year()) { ?>
<h2>Archive for <?php the_time('Y'); ?>:</h2>
<?php /* If this is an author archive */ } elseif (is_author()) { ?>
<h2>Author Archive</h2>
<?php /* If this is a paged archive */ } elseif (isset($_GET['paged']) && !empty($_GET['paged'])) { ?>
<h2>Blog Archives</h2>
<?php } ?>
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<div class="post">
<br>
<br>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<div class="entry">
<br>
<?php the_content(); ?>
<p class="postmetadata">
<?php _e('Filed under:'); ?> <?php the_category(', ') ?> <?php _e('by'); ?> <?php the_author(); ?><br />
<?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?> <?php edit_post_link('Edit', ' | ', ''); ?>
</p>
</div>
<br>
<hr>
<br>
</div>
<?php endwhile; ?>
<div class="navigation">
<?php posts_nav_link(); ?>
</div>
<?php endif; ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
Я уже весь день ищу и ничего не работает. какое имя архива шаблонов пользовательских таксономий мне следует использовать? какой код, который я должен изменить в этом category.php, чтобы удовлетворить потребности отображения пользовательских архивов таксономии (который может отображать все сообщения, связанные с таксономией клика)?
Вам следует создать файл taxonomy.php для терминов, принадлежащих пользовательской таксономии. Вы можете просто скопировать шаблон выше и назвать его taxonomy.php
РЕДАКТИРОВАТЬ
У вас есть один большой фундаментальный недостаток при регистрации двух ваших таксономий.
Вы не могу в именах пользовательских таксономий есть пробелы, и это также относится к именам функций и именам пользовательских типов записей. Следующие правила применяются, и есть нет обойти это.
имена не могут содержать пробелов или каких-либо специальных символов.
разрешены только строчные буквы
если имя содержит более одного слова, вы можете только используйте подчеркивание (_
разделить их. Не используйте дефисы (-
) как у вас будут проблемы позже
см. кодекс для ограничения количества символов для таксономий и типов записей
Короче говоря, kategori berita
а также tag berita
неверные имена. Они должны быть kategori_berita
а также tag_berita
, Как я уже сказал, есть нет обойти эту проблему. Ваши единственные решения — соответственно изменить названия таксономии.
Когда название вашей таксономии — «роли», вы можете создать файл под названием taxonomy-role.php. Вы также можете расширить это с помощью термина (в данном примере «ceo»), например, так: taxonomy-role-ceo.php.
Как сказал @pietergoosen, вы можете просто скопировать и вставить код, который вы указали в этих файлах.
Для получения дополнительной информации об этом вы можете проверить следующую ссылку: http://codex.wordpress.org/Template_Hierarchy#Custom_Taxonomies_display