display custom portfolio tags

时间:2012-08-30 作者:agis

这是代码的一部分,用于显示投资组合类别:

$post_cat = array();
                    $post_cat = wp_get_object_terms($post->ID, "portfolio_category");
                    $post_cats = array();

         $attachments = get_post_meta($post->ID, \'300-160-image\', true);

        if ($attachments) {         
                        $post_cat = array();
                        $post_cat = wp_get_object_terms($post->ID, "portfolio_category");
                        $post_cats = array();

                        $cats_pf_this = implode(":", $post_cats);

        $fg_imagemain.=\'{"url": "\'.get_bloginfo(\'template_directory\').\'/image.php?\'.str_replace("&", "&", $image_resizer_output).\'image=\'.$attachments.\'", "aid": \'.$post->ID.\', "color": "\'.addslashes(get_post_meta($post->ID, \'thumbnail_hover_color\', true)).\'", "thumb_title": "\'.addslashes($thumb_title).\'", "thumb_descr": "\'.addslashes($thumb_descr).\'", "thumb_cats": "\'.addslashes($cats_pf_this).\'", "fullimgsrc": "}\';

        var fg_divhoverbgmetadata = $("<div>").addClass("hoverbgpfthnailmetadata").html(\'<span class="thumb_title">\'+srcobj.thumb_title+\'</span><span class="thumb_cats">\'+srcobj.thumb_cats+\'</span><span class="thumb_plus">+</span>\');
我想做的是,同时显示公文包标签。我认为第一步是重复这一点:

$post_cats = array();
                    $post_cat = wp_get_object_terms($post->ID, "portfolio_category");
例如:

$post_tags = array();
                    $post_cat = wp_get_object_terms($post->ID, "portfolio_tags");
其余代码也是如此。我尝试过这个方法,但没有成功,我无法显示公文包项目标签。我做错了什么?

1 个回复
SO网友:truemedia

您需要知道“portfolio\\u tags”分类法的名称。检查定义为自定义分类法的位置,需要将其添加到公文包自定义帖子类型中。

这个register_taxonomy() 功能将是您的主题,如下所示:

register_taxonomy(\'portfolio_tags\',
   array(\'portfolio\'), 
   array(\'hierarchical\' => false, \'show_ui\' => true, \'query_var\' => true, 
   \'rewrite\' => array( \'slug\' => \'portfolio-tags\' )));
或者,您可以使用一个自定义post/自定义分类插件——然后您需要检查给定的id(例如,它可以是“portfolio\\u tag”)

确认后,应使用get_the_terms() 相反,因为它是Wordpress API的一部分(wp_get_object_terms() 未使用对象缓存,因此效率较低)

 $post_cat = get_the_terms( $post->ID, \'portfolio_tags\' );
最后,为了使用$post-ID, 确保您在循环中,或者您已经引用了global $post 对象

结束

相关推荐

If else with shortcodes

如果自定义字段值为true,我只希望显示其中一个短代码。我不理解这样做的逻辑。所以基本上,如果有twitch视频和自己的3D视频,我只想显示顶部的视频(twitch)。等等等等。这是否超出了if-else语句?我正在将此代码添加到我的模板中。php文件。我的第二个问题是,使用switch方法会更好吗?<?php $twitch = get_post_meta( $post->ID, \'twitch\', $single = true ); $own3d = get_post_