子および孫の製品分類用語のカスタム ショートコードが期待どおりに機能しない
P粉940538947
P粉940538947 2024-03-20 11:59:26
0
1
692

2 つのショートコード [ブランド名] と [製品名] を使用して、単一の製品テンプレートにサブカテゴリの用語と孫カテゴリの用語を表示します。

例 1: スマートフォン > Apple > iPhone 14

例 2: タブレット > Apple > iPad Pro 12.9 インチ (第 5 世代)

例 1 のショートコードはうまく機能します 例 2 ショートコード なし。どちらのショートコードも孫分類用語を表示します。

コード:

/*** 製品シングルページのショートコードのブランド名*/

function child_category_shortcode($atts) {
  グローバル $post;
  
  $product_terms = get_the_terms($post->ID, 'product_cat');
  
  if (!empty($product_terms)) {
    foreach ($product_terms として $term) {
      if ($term->parent != 0) {
        $term->name を返します。
      }
    }
  }
}

add_shortcode('ブランド名', 'child_category_shortcode');

/*** 製品シングルページのショートコードの製品名*/

function grandchild_category_shortcode($atts) {
  グローバル $post;
  
  $product_terms = get_the_terms($post->ID, 'product_cat');
  
  if (!empty($product_terms)) {
    foreach ($product_terms として $term) {
      $parent_id = $term->parent;
      if ($parent_id != 0) {
        $parent_term = get_term($parent_id, 'product_cat');
        $grandparent_id = $parent_term->parent;
        if ($grandparent_id != 0) {
          $term->name を返します。
        }
      }
    }
  }
}
add_shortcode('製品名', '孫カテゴリー_ショートコード');

製品の孫のみを選択しようとしましたが、何も起こりませんでした。

P粉940538947
P粉940538947

全員に返信(1)
P粉141455512

無事に動作するようになりました! [ブランド名] ショートコードの動作コードは次のとおりです:

function child_category_shortcode($atts) {
グローバル $post;

$product_terms = get_the_terms($post->ID, 'product_cat');

if (!empty($product_terms)) {
    $child_terms = 配列();
    foreach ($product_terms として $term) {
        if ($term->parent != 0) {
            $parent = get_term($term->parent, 'product_cat');
            if ($parent->parent == 0) {
                array_push($child_terms, $term->name);
            }
        }
    }
    return implode(', ', $child_terms);
}
}
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート