我查看了其他“PHP 變數被覆寫”的答案,但仍然無法弄清楚。
我正在使用這個 PHP 在單個產品頁面上獲取所有產品類別 slug:
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
if(is_array($terms)){
foreach ($terms as $term) {
$product_cat_slug = $term->slug;
$product_cat_slugs = ' product_cat-' . $product_cat_slug;
echo $product_cat_slugs;
}
}
線路echo $product_cat_slugs;輸出product_cat-category1 product_cat-category2。
問題是,當我echo $product_cat_slugs;從上面的函式中洗掉并<?php echo $product_cat_slugs; ?>在頁面上的其他地方使用時,我得到的輸出只是最后一個類別 slug product_cat-category2,而不是兩個類別product_cat-category1 product_cat-category2。
怎么了?$product_cat_slugs在 foreach 之外時似乎被覆寫;我怎樣才能防止這種情況?
如何product_cat-category1 product_cat-category2在回圈外輸出?
uj5u.com熱心網友回復:
我是否建議附加字串,例如
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
if( is_array( $terms ) ) {
$product_cat_slugs = ''; //Define the variable outside of the loop
foreach ( $terms as $term ) {
$product_cat_slugs .= ' product_cat-' . $term->slug; //Append the slug onto the string that already exists
}
echo $product_cat_slugs; //Echo the string outside of the loop so it only occurs once.
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/377576.html
標籤:php WordPress的 求购 foreach
