将Taxonomy Image代码与Get_Categories代码一起使用

时间:2011-11-15 作者:Corbula

我使用分类图像将图像与类别相关联。我正在使用以下代码,一个用于显示类别,另一个用于显示图像。

下面是显示我的类别的代码。

<?php
$cat_id = get_query_var(\'cat\');
$catlist = get_categories(\'hide_empty=0&child_of=\' . $cat_id);
echo "<ul>";

foreach($catlist as $categories_item)
{
echo \'<h1><a href="\' . get_category_link( $categories_item->term_id ) . \'" title="\' . sprintf( __( "View all products in %s" ), $categories_item->name ) . \'" \' . \'>\' . $categories_item->name.\'</a> </h1> \';
    echo \'<p>\'. $categories_item->description . \'</p>\';
}
echo "</ul>";
}
?>
以下是显示图像的代码。

$terms = apply_filters( \'taxonomy-images-get-terms\', \'\' );
if ( ! empty( $terms ) ) {

    foreach( (array) $terms as $term ) {
        print \'<a href="\' . esc_url( get_term_link( $term, $term->taxonomy ) ) . \'">\' . wp_get_attachment_image( $term->image_id, \'detail\' );
    }

}
如果我将类别的图像代码放在foreach上方,它将显示类别上方的图像。如果我将图像代码放在类别的foreach末尾下面,它将显示类别下面的图像。

如果我将图像代码放在类别的foreach中,它将显示每个类别下的所有图像。因此,在第一个类别下,它将显示所有类别的图像,在所有其他类别下也会显示相同的图像。

如何组合这两段代码,使其显示类别、与该类别关联的图像,然后是第二个类别和与该类别关联的图像?

我已经尝试了下面的答案,但是如果没有foreach$terms作为$term,图像代码就无法工作,所以我仍然在尝试这样做。

4 个回复
最合适的回答,由SO网友:Corbula 整理而成

通过使用下面的代码实现了这一点。它将显示类别和与之关联的图像。

    <?php 
$cat_id = get_query_var(\'cat\');
$catlist = get_categories(\'hide_empty=0&child_of=\' . $cat_id);
echo "<ul>";

foreach($catlist as $categories_item)
{
echo \'<h1><a href="\' . get_category_link( $categories_item->term_id ) . \'" title="\' . sprintf( __( "View all products in %s" ), $categories_item->name ) . \'" \' . \'>\' . $categories_item->name.\'</a> </h1> \';

echo \'<div class="categoryoverview clearfix">\';
    $terms = apply_filters( \'taxonomy-images-get-terms\', \'\' );
    if ( ! empty( $terms ) ) {

      foreach( (array) $terms as $term ) {
        if($term->term_id == $categories_item->term_id) {
           print \'<a href="\' . esc_url( get_term_link( $term, $term->taxonomy ) ) . \'">\' . wp_get_attachment_image( $term->image_id, \'thumbnail\' );
           echo \'</a>\';

        }
    }
    echo \'<p>\'. $categories_item->description; echo \'</p>\';
}
echo \'</div>\';
}
echo "</ul>";

SO网友:Hrvoje

如果使用插件提供的函数来获取其id,那么就没有运气了

$obj = get_queried_object();
要获取图像,我使用以下代码段:

$associations = taxonomy_image_plugin_get_associations();
$tt_id = absint( $taxonomy_term->term_id );

if ( array_key_exists( $tt_id, $associations ) ) {
    $image_id = absint( $associations[ $tt_id ] );
}

$image = wp_get_attachment_image( $image_id, \'thumbnail\' );

SO网友:Thomas Clover

今天刚通过下面的代码完成了这项工作。


$imgs = get_option( \'taxonomy_image_plugin\' );
$categories = get_categories(array(\'orderby\' => \'id\', \'hide_empty\' => 0));

foreach ( $categories as $category ) {
    $id = $category->term_id;
    echo wp_get_attachment_image( $imgs[$id], \'thumbnail\' );
}

我使用get\\u选项(“taxonomy\\u image\\u plugin”)来获取term\\u id和attachment\\u id之间的关联,然后一切都像一个符咒一样工作。

SO网友:Tom J Nowell

如插件wordpress下载页面说明所述:

$image_id = apply_filters( \'taxonomy-images-queried-term-image-id\', $categories_item->term_id );
wp_get_attachment_image( $image_id, \'detail\' );
例如:。

<?php 
$cat_id = get_query_var(\'cat\');
$catlist = get_categories(\'hide_empty=0&child_of=\' . $cat_id);
echo "<ul>";
foreach($catlist as $categories_item)
{
    $image_id = apply_filters( \'taxonomy-images-queried-term-image-id\', $categories_item->term_id );
    print \'<li><a href="\' . get_category_link( $categories_item->term_id ) . \'" title="\' . sprintf( __( "View all products in %s" ), $categories_item->name ) . \'" \' . \'>\' .wp_get_attachment_image( $image_id, \'detail\' ).\'</a></li>\';
}
echo "</ul>";
?>

结束

相关推荐

Translating a custom taxonomy

如何翻译自定义分类术语?我基本上是想让作者看到英语中的术语,让订阅者看到西班牙语中的术语。我不是在运行一个多语言网站,因为帖子等都是翻译的,所以像qTranslate这样的插件不能满足我的需要。我见过的最接近的东西是一个名为ZDMultilang 它支持术语翻译(标记、类别和链接类别)。我也找到了一些类似的解决方案-Change labels on 'Nickname' and 'Biographical Info' in user-edit.php:add_filter(