Шаблон пользовательской таксономии

Я работаю над своей собственной темой WordPress в первый раз. Я зарегистрировал новый тип сообщения с пользовательской таксономией, но я не могу отображать сообщения по срокам. Я продублировал archive.php и переименовал его в таксономию [mycustomtaxonomy] .php и изменил несколько строк.

Я оставил петли, поскольку он существует в файле archive.php:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php endwhile; endif; ?> 

Что случилось с моим кодом? Как создать страницу типа category.php?

ОБНОВЛЕНИЕ: варианты пользовательской таксономии

 $rewrite = array( 'slug' => 'mmcat', 'with_front' => true, 'hierarchical' => false, ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => false, 'show_tagcloud' => true, 'rewrite' => $rewrite, ); 

Вы должны следовать соответствующему соглашению об именах (aka Template Hierarchy) ваших шаблонов, чтобы выполнить свою работу.

Если я проясню ваш запрос здесь, я предлагаю вам называть ваш шаблон (ы) типового шаблона "taxonomy-{your-taxonomy-name-here}.php" как "taxonomy-{your-taxonomy-name-here}.php" (т.е. таксономия-растительный.php, таксономия -fruit.php и т. д.)

В именах шаблонов не должно быть пробела или подчеркивания между двумя словами. Вместо этого вы должны писать тире / дефис между словами.

Но перед тем, как ваша пользовательская страница архива таксономии будет функционировать должным образом, вы должны иметь еще два шаблона, которые обязательно существуют в вашем каталоге тем.

Это "single-{your-custom-post-type-name}.php" и "content-{your-custom-post-type-name}-single.php" которые следуют соответственно стандартным «single.php» и «single- content-single.php ", если вы используете свои пользовательские таксономии с вашими специальными типами сообщений. Если у вас есть «рыночный» тип, то ваши шаблоны должны быть «single-market.php» и «content-market-single.php»,

В вашем «single.php» вы, вероятно, увидите, что есть что-то вроде <?php get_template_part( 'content', 'single' ); ?> <?php get_template_part( 'content', 'single' ); ?> и для этого правильно работать должен быть шаблон content-single.php в вашем каталоге тем.

Для вашей пользовательской части вы должны написать <?php get_template_part( 'content', 'market-single' ); ?> <?php get_template_part( 'content', 'market-single' ); ?> и поместил бы ваш шаблонный код в ваш файл «content-market-single.php». И снова, для вашего собственного архива (ы) таксономии, чтобы работать, вы "taxonomy-shop.php" файлы шаблонов "taxonomy-shop.php" или "taxonomy-vegetable.php" .

Теперь вы можете проверить, работает ли ваш "content-market-single.php" или "taxonomy-shop.php" , просто наложив некоторые обычные тексты, такие как «привет / привет» на пустую белую страницу (сохраненную и именовав соответствующую имя шаблона), а затем запустить его, открыв один из ваших пользовательских сообщений или пользовательский термин таксономии из своего меню навигации или с панели управления WordPress в ваш браузер. Если все пойдет правильно, вы можете продолжить процесс создания шаблона.

Вы можете найти следующую статью очень полезной, потому что она очень важна для вашего запроса: http://www.smashingmagazine.com/2014/08/27/customizing-wordpress-archives-categories-terms-taxonomies/

Проблема была exclude_from_search параметром exclude_from_search когда я зарегистрировал тип сообщения.

exclude_from_search (boolean) (важность) Следует ли исключать сообщения с этим типом сообщения из результатов поиска в конце.

  Default: value of the opposite of public argument 'true' - site/?s=search-term will not include posts of this post type. 'false' - site/?s=search-term will include posts of this post type. Note: If you want to show the posts's list that are associated to taxonomy's terms, you must set exclude_from_search to false (ie : for call site_domaine/?taxonomy_slug=term_slug or site_domaine/taxonomy_slug/term_slug). If you set to true, on the taxonomy page (ex: taxonomy.php) WordPress will not find your posts and/or pagination will make 404 error...