WordPress Woocommerce Advice with PHP code
我正在使用woo commerece插件,并且希望每个产品的标题下都有一个子标题。
样式和格式已排序,但是我希望特定类别显示在子标题部分。 我已经设法显示所有类别,但是我想将其缩小到父类别下的一个类别。
以下是我使用的代码,谁能建议我如何实现显示在父类别下选择的任何子类别。
谢谢
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php /** * Single Product title * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post, $product; $cat_count = sizeof( get_the_terms( $post->ID, 'product_cat' ) ); ?> <h1 itemprop="name" class="product_title entry-title"><?php the_title(); ?> <?php echo $product->get_categories( ', ', '<span class="posted_in">' . _n( 'Artist:', 'Artist:', $cat_count, 'woocommerce' ) . ' ', '.</span>' ); ?> |
结果是这样的:
Array ( [0] => stdClass Object ( [term_id] => 59 [name] => Colourful
[slug] => colourful [term_group] => 0 [term_taxonomy_id] => 59
[taxonomy] => product_cat [description] => [parent] => 115 [count] =>
21 [filter] => raw ) [1] => stdClass Object ( [term_id] => 96 [name]
=> Karen Grant [slug] => karen-grant [term_group] => 0 [term_taxonomy_id] => 96 [taxonomy] => product_cat [description] =>
[parent] => 90 [count] => 5 [filter] => raw ) [2] => stdClass Object (
[term_id] => 69 [name] => Landscapes [slug] => landscapes [term_group]
=> 0 [term_taxonomy_id] => 69 [taxonomy] => product_cat [description] => [parent] => 115 [count] => 35 [filter] => raw ) [3] => stdClass Object ( [term_id] => 71 [name] => Nature [slug] => nature
[term_group] => 0 [term_taxonomy_id] => 71 [taxonomy] => product_cat
[description] => [parent] => 115 [count] => 20 [filter] => raw ) )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <?php /** * Single Product title * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post, $product; $cat_count = sizeof( get_the_terms( $post->ID, 'product_cat' ) ); ?> <h1 itemprop="name" class="product_title entry-title"><?php the_title(); ?> <?php global $post, $product; $cat_array = array(); $term_list = wp_get_post_terms($post->ID, 'product_cat', array("fields" =>"all")); //get array containing category details foreach($term_list as $cat_list) { array_push($cat_array, $cat_list->term_id); } $cat_id = ($term_list[0]->parent); //get parent category ID from the above generated array $termchildren = get_term_children( '90' , 'product_cat' ); //New Line in Updattion -1 $final_result = array_intersect($cat_array,$termchildren); print_r($final_result); $new_cat_id = $final_result[0]; $cat_url = get_term_link ($new_cat_id, 'product_cat'); //get link of parent ID $term = get_term( $new_cat_id, 'product_cat' ); //Get Name of the parent from the parent ID $name = $term->name; //Store it into an varialbe echo"Artist:".$name.""; ?> |
'
试试这个 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php global $post, $product; $term_list = wp_get_post_terms($post->ID, 'product_cat', array("fields" =>"all")); //get array containing category details $cat_id = ($term_list[0]->parent); //get parent category ID from the above generated array $cat_url = get_term_link ($cat_id, 'product_cat'); //get link of parent ID $term = get_term( $cat_id, 'product_cat' ); //Get Name of the parent from the parent ID $name = $term->name; //Store it into an varialbe echo"Artist:".$name.""; ?> |
请记住:
在
如果您有任何疑问,请告诉我。
更新:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php global $post, $product; $term_list = wp_get_post_terms($post->ID, 'product_cat', array("fields" =>"all")); //get array containing category details $cat_id = ($term_list[0]->parent); //get parent category ID from the above generated array $termchildren = get_term_children( '90' , 'product_cat' ); //New Line in Updattion -1 $new_cat_id = $termchildren[2]; $cat_url = get_term_link ($new_cat_id, 'product_cat'); //get link of parent ID $term = get_term( $new_cat_id, 'product_cat' ); //Get Name of the parent from the parent ID $name = $term->name; //Store it into an varialbe echo"Artist:".$name.""; ?> |
新更新(2015年1月2日)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?php global $post, $product; $cat_array = array(); $term_list = wp_get_post_terms($post->ID, 'product_cat', array("fields" =>"all")); //get array containing category details foreach($term_list as $cat_list) { array_push($cat_array, $cat_list->term_id); } $cat_id = ($term_list[0]->parent); //get parent category ID from the above generated array $termchildren = get_term_children( '90' , 'product_cat' ); //New Line in Updattion -1 $final_result = array_intersect($cat_array,$termchildren); $final_cat_result = array_values($final_result); $new_cat_id = $final_cat_result[0]; $cat_url = get_term_link ($new_cat_id, 'product_cat'); //get link of parent ID $term = get_term( $new_cat_id, 'product_cat' ); //Get Name of the parent from the parent ID $name = $term->name; //Store it into an varialbe echo"Artist:".$name.""; ?> |
Line:1
第2行:一个空白数组,用于存储当前产品的所有类别**。我们将在以后使用它。
第3行:
第4行:用于遍历上面生成的数组。我们将遍历一个数组并查找
第9行:现在我们将使用
Line:10
Line:11
第12行:现在我们有了一个数组,该数组只有一个值是歌手的
行:13获取艺术家的链接。
第15行:从第14行中生成的数组中获取艺术家的名称,并将其存储在变量中。
行:16打印所需的内容,我们完成了!