从自定义分类术语中获取图像

时间:2016-07-12 09:04:02

标签: php wordpress

好的,我不知道是否允许提出新问题。但我认为它与我之前的问题有点不同。 (如果没有,请告诉我)。

我试图从我的自定义分类术语中获取精选图像。昨天我走得很远,但我的客户想要添加团队成员的名字。所以,我有点回到这个的绘图板上。

我的主题由四个不同的可折叠面板组成。使用自定义帖子类型和循环。

所以我制作了自定义分类ons_team,因为我不想在每个面板上显示团队成员。所以我检查了ctp上我希望团队成员出现的方框。

但是现在客户想要添加团队成员的名字,我被迫使用不同的代码。昨天我用它来处理这段代码。

<?php $terms = get_the_terms( $post->ID , 'ons_team' ); 
                    print apply_filters( 'taxonomy-images-list-the-terms', '', array(
                                'before'       => '<div class="ons-team">',
                                'after'        => '</div>',
                                'before_image' => '<span>',
                                'after_image'  => '</span>',
                                'image_size'   => 'detail',
                                'taxonomy'     => 'ons_team',
                            ) );
                    foreach ( $terms as $term ) {
                        $term_link = get_term_link( $term, 'ons_team' );
                        if( is_wp_error( $term_link ) )
                        continue;


                    } 
                ?>

这仅显示我在其中选中复选框的面板上的团队成员。但我不能将团队成员的名字添加到此代码中。

所以我使用这段代码在单页上工作:

<?php   
// List of image links

$terms = apply_filters( 'taxonomy-images-get-terms', '', array( 'taxonomy' => 'ons_team' ) );

foreach( (array) $terms as $term) {
echo '<div class="col s6 m6 l3 teamimage"><a href="' . esc_attr( get_term_link( $term ) ) . '" title="' . sprintf( __( "%s" ), $term->name ) . '" ' . '>' . wp_get_attachment_image( $term->image_id, 'destacado-proyectos-home' ) . '</a>';

echo '<h2 class="truncate">' . sprintf( __( "%s" ), $term->name ) . '</h2>';
     echo '</div>';
     }
   ?>

但如果我在面板上使用该代码,我希望显示信息。它在所有面板上显示,而不是我想要显示的唯一一个面板。

我尝试使用两者的组合,但每个面板仍显示图像和名称。

 <?php $terms = get_the_terms( $post->ID , 'ons_team' ); 
                    $terms = apply_filters( 'taxonomy-images-get-terms', '', array( 'taxonomy' => 'ons_team' ) );

                          foreach( (array) $terms as $term) {
                            echo '<div class="col s6 m6 l3 teamimage"><a href="' . esc_attr( get_term_link( $term ) ) . '" title="' . sprintf( __( "%s" ), $term->name ) . '" ' . '>' . wp_get_attachment_image( $term->image_id, 'destacado-proyectos-home' ) . '</a>';
                            echo '<h2 class="truncate">' . sprintf( __( "%s" ), $term->name ) . '</h2>';
                            echo '</div>';
                          }
                    foreach ( $terms as $term ) {
                        $term_link = get_term_link( $term, 'ons_team' );
                        if( is_wp_error( $term_link ) )
                        continue;


                    } 
                ?>

将代码放在foreach或任何其他地方之间会破坏代码。是否有可能这不起作用,因为我使用$ term / $ terms很多?

像这样使用它:

<?php $terms = get_the_terms( $post->ID , 'ons_team' ); 

                    foreach ( $terms as $term ) {
                        $term_link = get_term_link( $term, 'ons_team' );
                        $terms = apply_filters( 'taxonomy-images-get-terms', '', array( 'taxonomy' => 'ons_team' ) );

                          foreach( (array) $terms as $term) {
                            echo '<div class="col s6 m6 l3 teamimage"><a href="' . esc_attr( get_term_link( $term ) ) . '" title="' . sprintf( __( "%s" ), $term->name ) . '" ' . '>' . wp_get_attachment_image( $term->image_id, 'destacado-proyectos-home' ) . '</a>';
                            echo '<h2 class="truncate">' . sprintf( __( "%s" ), $term->name ) . '</h2>';
                            echo '</div>';
                          }
                        if( is_wp_error( $term_link ) )
                        continue;


                    } 
                ?>

有点作品,但它会连续10次向团队成员展示......

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

解决了!

如果有人需要,这是正确的代码:

 <div class="teamleden over-ons-ul">
                <div class="center-align">
                  <div class="row">
                      <?php   
                       $terms = get_the_terms( $post->ID , 'ons_team' );

                         if ( $terms != null ){
                            $terms = apply_filters( 'taxonomy-images-get-terms', '', array( 'taxonomy' => 'ons_team' ) );

                                  foreach( (array) $terms as $term) {
                                    echo '<div class="col s6 m6 l3 teamimage"><a href="' . esc_attr( get_term_link( $term ) ) . '" title="' . sprintf( __( "%s" ), $term->name ) . '" ' . '>' . wp_get_attachment_image( $term->image_id, 'destacado-proyectos-home' ) . '</a>';
                                    echo '<h2 class="truncate">' . sprintf( __( "%s" ), $term->name ) . '</h2>';
                                    echo '</div>';
                                  }
                         foreach( $terms as $term ) {

                         unset($term);
                        } } ?>
                    </div>
                </div>
            </div>