Wordpress短代码woocommerce项目插件

时间:2016-12-28 18:49:37

标签: php wordpress woocommerce categories shortcode

我正在使用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中除活跃类别以外的所有内容?

1 个答案:

答案 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的糟糕使用。有更好的方法来显示投资组合。

无论如何,希望有所帮助。