通过工具集视图快捷代码获取工具集自定义分类的分类图像

时间:2017-01-18 作者:Anton Flärd

我正在使用工具集视图显示分类法列表。这些分类法属于我使用工具集分类法创建的自定义分类法。然后,我使用插件分类图像添加了一个选项,使图像与术语相关。如果有任何影响的话,我会使用一个扁平的层次结构(标签)。

我试图实现的是,在视图循环中,我希望显示我添加到术语中的图像。

视图循环:

<wpv-loop>
      <img src="[sagaio-term-image size=\'thumbnail\' id=\'[wpv-taxonomy-id]\' output=\'url\']" />
      <h4>[wpv-taxonomy-title]</h4>
</wpv-loop>
我的快捷代码:
function get_taxonomy_image( $atts ) {

    $atts = shortcode_atts( array(
        \'image_size\' => \'thumbnail\',
        \'id\' => \'\',
        \'output\' => \'\'
        ), $atts );

add_shortcode( \'sagaio-term-image\', \'get_taxonomy_image\' );
问题:如何获取指定分类法的附件ID并输出URL?

我已经看过了wp_get_attachment_image_src 但我不知道如何获取附件的ID。。。

1 个回复
SO网友:Anton Flärd

以下代码部分取自插件Taxonomy Images 它正在发挥作用:

function get_taxonomy_image( $atts ) {

    $atts = shortcode_atts( array(
        \'image_size\' => \'thumbnail\',
        \'id\' => \'\',
        ), $atts );


    if( ! empty( $atts[\'id\'] ) ) {
        $term = get_term( $atts[\'id\'] );

        $related_id = 0;
        if ( isset( $term->term_taxonomy_id ) ) {
            $related_id = (int) $term->term_taxonomy_id;
        }

        $attachment_id = 0;
        $associations = get_option( \'taxonomy_image_plugin\' );
        if ( isset( $associations[ $related_id ] ) ) {
            $attachment_id = (int) $associations[ $related_id ];
        }

        $imgsrc = wp_get_attachment_image_src( $attachment_id, $atts[\'image_size\'] );

        return $imgsrc[0];
    }

    return \'no-id-set\';
}

add_shortcode( \'sagaio-term-image\', \'get_taxonomy_image\' );

相关推荐

Shortcode based chart plugin

有谁知道一个WP插件可以根据短代码参数生成图表吗?i、 e.像这样的[chart type=\"bar\" values=\"1,2,4,7,3\"], [chart type=\"pie\" values=\"43,32,38\"] 所以不需要上传。txt/。csv文件,使用谷歌工作表等。谢谢PS:由于我们网站的工作方式(数据库生成一些内容),我们需要基于短代码。