特定のカテゴリのすべてのサブカテゴリを表示しますか?
2 回答
- 投票
-
- 2013-05-30
次のようなものを試してください:
ID別
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) { $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $parent_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
名前による
function woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) { $IDbyNAME = get_term_by('name', $parent_cat_NAME, 'product_cat'); $product_cat_ID = $IDbyNAME->term_id; $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $product_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
ソース/インスピレーション 編集:
コードを完成させ、テストしました.コメントを参照してください
Try something like this:
by ID
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) { $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $parent_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
by NAME
function woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) { $IDbyNAME = get_term_by('name', $parent_cat_NAME, 'product_cat'); $product_cat_ID = $IDbyNAME->term_id; $args = array( 'hierarchical' => 1, 'show_option_none' => '', 'hide_empty' => 0, 'parent' => $product_cat_ID, 'taxonomy' => 'product_cat' ); $subcats = get_categories($args); echo '<ul class="wooc_sclist">'; foreach ($subcats as $sc) { $link = get_term_link( $sc->slug, $sc->taxonomy ); echo '<li><a href="'. $link .'">'.$sc->name.'</a></li>'; } echo '</ul>'; }
Edit:
Completed the code, tested it, see comments
-
ありがとう、しかし私はそのコードを私のものに入れる方法がわかりません、とにかく私はこのコードを見つけました: [http://wordpress.stackexchange.com/questions/73795/how-to-split-the-categories-of-subcategories-with-thumbnails] しかし、それはすべてのカテゴリを示しています、私はそのサブカテゴリで選択された1つのカテゴリだけが必要ですThanks, but I don't know how to put that code into mine, anyway I found this code : [http://wordpress.stackexchange.com/questions/73795/how-to-split-the-categories-of-subcategories-with-thumbnails] but it shows All categories, I need just One category selected with its subcategories
- 0
- 2013-05-30
- Yhis
-
友人のおかげで、使用する必要のある部分のwoocommerce-template.phpにコピーして貼り付けましたが、すべてのカテゴリが表示され、サブカテゴリは表示されません.上に投稿したリンクを見てください.そのようになっているはずですが、カテゴリとそのサブカテゴリは1つだけです.Thanks my friend, I copied and pasted it in my woocommerce-template.php in the part where I need it to use, but it displays all the categories and none subcategories; please take a look at the link I posted above, it should be like that but with only one category and its subcategories
- 0
- 2013-05-30
- Yhis
-
リンクした質問のコードをざっと見てみました.あなたがやろうとしていることは、 `$ sub_cats=get_categories($ args2)`と `$ args2=array(...)`の部分に関連することだけをすることですが、それでも、私が提案したことはほとんど同じです.だから私はそれがあなたのために働いていない理由が本当にわかりません.I took a quick look at the code from the questions you linked. What you are lloking to do is only do whats associated to `$sub_cats = get_categories( $args2 )` and the `$args2 = array( ... )` part, but that said, what i suggested is pretty much the same. So I'm not really sure why it isn't working for you.
- 0
- 2013-05-30
- Nicolai
-
`function woocommerce_subcats_from_parentcat($parent_cat){`を削除すると 動作しますが、サブカテゴリではなくメインカテゴリのみが表示されます.コードをそのままコピーして貼り付けると、空白が表示され、何も表示されません.if I remove `function woocommerce_subcats_from_parentcat($parent_cat) {` it works, but shows only main categories, not subcategories, if I copy and paste your code as it is, it shows blank, none.
- 0
- 2013-05-30
- Yhis
-
わかりました.メインカテゴリではなくサブカテゴリが表示されますが、「23」を入力した場合にのみ、「21」はすべて空白になります. あなたの助けに感謝します、あなたがこの最後の小さなバグを修正することができればそれは私にとって素晴らしいでしょうOk, it shows subcategories and not main category, but only if I put '23', with '21' it's all blank.. thanks for your help, if you could fix this last little bug it would be great for me
- 0
- 2013-05-30
- Yhis
-
正常に機能します.サブカテゴリの上にメインカテゴリを表示するだけです. 主なカテゴリー -サブ猫 -サブ猫ok it works, i need just to show the main category above the subcategories: MAIN CATEGORY - sub cat - sub cat
- 0
- 2013-05-30
- Yhis
-
わかりました、私の友人、すべてがうまくいきます!どうもありがとう!! ちょっとした質問: サブカテゴリをクリックしたときに常にメインカテゴリを表示することはできますか?ok, my friend, everything works fine! thanks a lot!! just a small question: is it possible to show always the main category when I click on a subcategory?
- 0
- 2013-05-30
- Yhis
-
それは確かに可能ですが、私には質問のようです.適切に質問してください.これはあなたを助けるかもしれません:http://wordpress.stackexchange.com/questions/56784/get-main-parent-categories-for-a-productit certainly is possible, but it seems like a question to me, ask it properly; this might help you: http://wordpress.stackexchange.com/questions/56784/get-main-parent-categories-for-a-product
- 0
- 2013-05-30
- Nicolai
-
はい、おそらく最善の解決策ですが、ページでこれら2つの関数を呼び出すにはどうすればよいですか?yes probably is the best solution, but how can i call these two functions in my page?
- 0
- 2013-05-30
- Yhis
-
とにかく、問題はまだ残っています: woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID)はサブカテゴリのみを表示し、woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME)はサブを含まないすべてのメインカテゴリのみを表示します.anyway, the problem still remains: woocommerce_subcats_from_parentcat_by_ID($parent_cat_ID) displays only sub categories, and woocommerce_subcats_from_parentcat_by_NAME($parent_cat_NAME) displays only ALL main categories with no sub.
- 0
- 2013-05-30
- Yhis
-
MAIN-> subが必要です.subをクリックすると、親の「MAIN-> sub」と同じになります.MAINまたはsubをクリックしても、この種のメニューは変更されないようにする必要がありますI need MAIN->sub and once i click on sub it should be the same as parent 'MAIN->sub'. I need that this kind of menu doesn't change if I clik on MAIN or a sub
- 0
- 2013-05-30
- Yhis
-
まず第一に、両方の機能は私にとって完全にうまく機能しています、あなたはおそらくそれらの1つを間違って使用しています.次に、ここの情報と上記のリンク先の質問を使用して、目的の動作を実現できるはずです.幸運を!First of all, both functions are working perfectly fine for me, you are maybe using one of them wrong. Secondly, you should be able to achieve the wanted behaviour with the information here and on the question linked above. Good luck!
- 0
- 2013-05-30
- Nicolai
-
- 2014-12-11
これがページテンプレートで機能したコードです(私の親IDは7でした):
<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'parent' => 7, )); foreach($wcatTerms as $wcatTerm) : $wthumbnail_id = get_woocommerce_term_meta( $wcatTerm->term_id, 'thumbnail_id', true ); $wimage = wp_get_attachment_url( $wthumbnail_id ); ?> <div><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"> <?php if($wimage!=""):?><img src="<?php echo $wimage?>" class="aligncenter"><?php endif;?></a> <h3 class="text-center"><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a></h3> </div> <?php endforeach; ?>
Here is the code that worked for me in a page template (my parent id was 7):
<?php $wcatTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'parent' => 7, )); foreach($wcatTerms as $wcatTerm) : $wthumbnail_id = get_woocommerce_term_meta( $wcatTerm->term_id, 'thumbnail_id', true ); $wimage = wp_get_attachment_url( $wthumbnail_id ); ?> <div><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"> <?php if($wimage!=""):?><img src="<?php echo $wimage?>" class="aligncenter"><?php endif;?></a> <h3 class="text-center"><a href="<?php echo get_term_link( $wcatTerm->slug, $wcatTerm->taxonomy ); ?>"><?php echo $wcatTerm->name; ?></a></h3> </div> <?php endforeach; ?>
を使用してすべてのサブカテゴリを表示する必要があります
実際に使用しているもの:
問題ありませんが、親カテゴリと1つのサブカテゴリのみが表示されます...
それを修正する方法は?