2015-04-13 4 views
0

Мне бы очень хотелось помочь с шаблонами Taxonoy и CPT, я пытался работать в течение недели, и я просто становлюсь более смущенным, ничего, что я пытаюсь, похоже, работает так Я надеялся, что?Шаблоны пользовательских таксономических архивов

Может кто-нибудь объяснит или покажет мне, как этого добиться, я подумал о том, чтобы заплатить кому-то за это, поскольку я не кодер, я могу редактировать рабочий код довольно счастливо, но не могу его написать. Хотя это было бы намного проще, чем это.

Детальность:

У меня есть тип ТАМОЖЕННЫЙ ПОСТ под названием - 'машины'

У меня есть Таксономию прикрепленную к тому, что назвали - 'машиностроителей типов'

Под ним 3 типа машин - 'электрические' - 'механический «-» солнечный «

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

Я считаю, что это первый файл будет archive-machines.php

машины (archive-machines.php)?

-electrical 
    -mechanical 
    -solar 

Когда я следовать один из этих долгосрочных связей я хотел бы он, чтобы показать список постов под этим термином только с просто «после заголовка», что ссылки на это single.php (довольно стандартный)

Что я не могу решить, как получить все термины под 'машинные типы', чтобы использовать тот же шаблон. Большая часть кода, который я видел, требует от вас изменить название термина, мне нужно, чтобы это было динамическим.

Моя конечная цель - использовать некоторые пользовательские поля, но на данный момент я просто хочу получить шаблоны и перейти оттуда.

Я чувствую, что у меня в руке были проверены, что мой мозг не может наличными! Любая помощь будет принята с благодарностью! :)

ответ

0

Wordpress не имеет стандартного шаблона для условий таксономии архивирования, поэтому шаблон archive-machines.php не принесет вам никакой пользы. Вы бы лучше всего создали пользовательскую страницу и шаблон, и в этом шаблоне используйте функцию get_terms(), чтобы захватить все термины в таксономии типов машин и вывести свой список.

https://codex.wordpress.org/Function_Reference/get_terms

Эта функция возвращает массив долгосрочных объектов. Из этого вы можете получить ID, slug, имя и т. Д. Чтобы получить ссылку на этот термин, вы будете использовать функцию get_term_link().

https://codex.wordpress.org/Function_Reference/get_term_link

После того, как вы нажмете на одну из этих терминов это доступ будет шаблон систематики-машина types.php. Эти шаблоны таксономии настроены для отображения списка сообщений, основанных на выбранном таксономии.

+0

Спасибо, я пробирался через этот лот несколько дней назад :) – andytc

0

Я использовал эти 2 шаблона в конце, используя machine-archive.php, используя некоторые настраиваемые поля.

<?php 

/* 
* Custom WordPress Template: archive-machine 
*/ 

// Remove stuff 

remove_action('genesis_loop', 'genesis_do_loop'); 

// Add our custom loop 

add_action('genesis_loop', 'machine_archive_loop'); 

function machine_archive_loop() { 

     $libargs=array( 
      'hide_empty' => 1, 
      'parent'  => 0, 
      'taxonomy'  => 'machine-type'); 

      $libcats=get_categories($libargs); 

      foreach($libcats as $lc){ 
       $termlink = get_term_link($lc->slug, 'machine-type'); 

     ?> 

     <div class="row tax-list"> 
      <div class="small-12 medium-4 large-3 columns tax-img"> 
       <a href="<?php echo $termlink; ?>"><img src="<?php the_field('tax_image' , 'machine-type_'.$lc->term_id); ?>" alt="view range"/></a> 
      </div> 

      <div class="small-12 medium-8 large-9 columns tax-description"> 
       <h2><a href="<?php echo $termlink; ?>"><?php echo $lc->name; ?> Range</a></h2> 
       <?php the_field('tax_description', 'machine-type_'.$lc->term_id); ?><a href="<?php echo $termlink; ?>"> ....View the range</a> 
      </div> 

     </div> 

     <?php } 


    // use reset postdata to restore orginal query 
    wp_reset_postdata(); 

} 



genesis(); 

это для систематики-машинного type.php

<?php 
// Remove stuff 
remove_action('genesis_loop', 'genesis_do_loop'); 

// Add our custom loop 
add_action('genesis_loop', 'tax_archive_loop'); 
function tax_archive_loop() { 

    $taxonomy = 'machine-type'; 
    $queried_term = get_query_var($taxonomy); 
    $terms = get_terms($taxonomy, 'slug='.$queried_term); 


    // Define the query 
    $args = array(
    'post_type' => 'machines', 
    'machine-type' => $queried_term , 
    'posts_per_page' => -1, 
); 

// run the query 
    $query = new WP_Query($args); 
    if($query->have_posts()) { 

     // Start the Loop 
     while ($query->have_posts()) : $query->the_post(); ?> 

     <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> 
     <p><?php echo get_the_date(); ?></p> 
     <div class="entry-content"> 
      <?php echo the_content(); ?> 
      <a href="<?php echo get_permalink(); ?>"> ... Find Out More</a> 
     </div> 

    <?php endwhile;?> 

<hr/> 

<?php 

}   
    // use reset postdata to restore orginal query 
    wp_reset_postdata(); 
} 
genesis(); 
Смежные вопросы