0

这是我在作品集中展示我的作品的查询

<?php

    // The Query
    $the_query = new WP_Query( array( 'post_type'=> 'portfolio' ) );

    // The Loop
    if ( $the_query->have_posts() ) {
        while ( $the_query->have_posts() ) {
            $the_query->the_post();

            $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
            $medium = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'large' );
            $url_thumb = $thumb['0'];
            $url_medium = $medium['0'];

            $option = '<li>';
            $option .= '<a data-value="' . get_the_terms($post->ID, 'portfolio' ) . '" data-largesrc="' . $url_medium .'" data-title="' . get_the_title() .'" data-description="' . get_the_content() .'">';
            $option .= '<img src="' . $url_thumb . '" alt="img01" />';
            $option .= '</a>';
            $option .= '</li>';
            echo $option;
        }
    } else {

    }
    /* Restore original Post Data */
    wp_reset_postdata();
    ?>

问题出在这里,在数据值中我需要提取工作类别

data-value="' . get_the_terms( 'portfolio', $post->ID ) . '"

我认为我使用的代码是错误的,因为如果我放到网上我会截断代码并且我没有显示任何内容

4

2 回答 2

3

您的代码表明这portfolio是自定义帖子类型,而不是自定义分类,但您将其作为分类参数传递给get_the_terms(). 这些不是一回事——帖子类型是内容的类型(例如帖子、页面),而分类法是组织和分组事物的方式(例如标签、类别)。

您需要将自定义分类的 slug 作为$taxonomy参数传递,而不是自定义帖子类型的 slug portfolio。我不知道您要查询的是什么分类法,但它可能类似于portfolio_categories或类似。例如,如果您对category您想要的帖子使用默认分类法get_the_terms($post->ID, 'category');

于 2013-11-12T13:56:26.050 回答
0

您使用了错误的语法,正确的语法是

     <?php get_the_terms( $id, $taxonomy ); ?>
于 2013-11-12T13:40:39.987 回答