0

我真的需要你的帮助。我刚刚创建了一个显示所有帖子的 WordPress 页面模板,但我的问题是自定义父分类/类别的显示及其子级。我的帖子是这样的。

    <table>
  <tr>
    <td>Title</td>
    <td>Parent Category</td>
    <td>Sub Category</td>
    <td>Excerpt</td>
  </tr>
  <tr>
    <td>a title</td>
    <td>USA custom category</td>
    <td>Hawaii uder USA</td>
    <td>this is a sample description.</td>
  </tr>
   </table>

我唯一的问题是显示子类别。任何人都可以帮助我吗?

这是我如何显示父自定义类别的代码:

 <?php

    $term_list = '';
    $terms     = get_the_terms( $post->ID, 'origincity' );
    foreach( $terms as $term ) {
        $parent_term = get_term( $term->parent, 'origincity' );
        $term_list  .= $parent_term->name ;
    }
    echo $term_list;
   ?>

我试图通过这段代码显示子类别:

<?php $terms2 = wp_get_post_terms($post->ID, 'origincity', array("fields" => "all"));

foreach ($terms2 as $term1) {
    echo $term1->name.'<br>';
} ?>

但它也返回父级。:(

非常感谢您的帮助。谢谢。

4

2 回答 2

0

我不建议使用您当前使用的方法,因为您对显示的内容没有足够的控制权。

在未来的使用中get_posts();

使用起来真的很简单!例如:

<ul>
<?php

global $post;

$args = array( 'posts_per_page' => 5, 'offset'=> 1, 'category' => 1 );

$myposts = get_posts( $args );

foreach( $myposts as $post ) : setup_postdata($post); ?>
    <li>
          <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
<?php endforeach; ?>

</ul>

如您所见,您可以为显示的帖子设置帖子的数量、类别和更多参数。

在此处了解有关参数的更多信息http://codex.wordpress.org/Template_Tags/get_posts

于 2013-07-22T10:04:08.317 回答
0

已经通过以下代码解决了问题:

function print_taxonomic_ranks( $terms ){


    // set id variables to 0 for easy check 
    $order_id = $family_id = $subfamily_id = 0;


    // get family
    foreach ( $terms as $term ) { 
        if ( $family_id || $order_id != $term->parent )
            continue;
        $family_id = $term->term_id;
        $family    = $term->name;
    }

    // get subfamily
    foreach ( $terms as $term ) { 
        if ( $subfamily_id || $family_id != $term->parent ) 
            continue;
        $subfamily_id = $term->term_id;
        $subfamily    = $term->name;
    }

    // output
    echo "$subfamily";

}

顺便谢谢。

于 2013-08-05T03:51:34.987 回答