我正在使用Woocommerce Projects插件的短代码而且我被困住了,我怎么才能显示与用户正在查看的项目属于同一类别的项目。
我使用此代码:
Visit more projects of
<?php
$terms_as_text = get_the_term_list( $post->ID, 'project-category' );
if ( $terms_as_text ) {
echo wp_strip_all_tags( $terms_as_text);
}
?>?
<?php echo do_shortcode( '[projects limit="3" columns="3" orderby="rand" order="desc" exclude_categories=""]' ); ?>
顶部的文字正在运作,但如何排除shortcode中除活跃类别以外的所有内容?
答案 0 :(得分:1)
试试这个:
<?php
$terms = get_terms( array(
'taxonomy' => 'project-category',
) );
//$post_terms = wp_get_post_terms( $post->ID, 'project-category' );
$post_terms = wp_get_post_terms( $post->ID, 'project-category' );
$cat_string = array();
$in_string = true;
if ( !empty( $terms ) ) {
foreach($terms as $term){
$in_string = true;
foreach($post_terms as $post_term){
if( $post_term->name == $term->name ) {
$in_string = false;
}
}
if($in_string)
$cat_string[] = $term->term_id ;
}
}
if(sizeof($cat_string) > 0)
$cat_string = implode(',',$cat_string);
else
$cat_string = '';
echo $cat_string;
?>
<?php echo do_shortcode( '[projects limit="3" columns="3" orderby="rand" order="desc" exclude_categories="' . $cat_string . '"]' ); ?>
我很惊讶扩展程序没有附带该功能。似乎很明显要包括在内。
我还要说,这是对WooCommerce的糟糕使用。有更好的方法来显示投资组合。
无论如何,希望有所帮助。