検索キーワードを入力:

welcartとブログの共存:カテゴリの振り分け。大親カテゴリの追跡

welcartでショップ&ブログのページを作ってます。

アーカイブ、カテゴリページにおいて、
welcartにおける商品カテゴリと、ブログにおける記事カテゴリの振り分けするときのお話。

その記事が商品かブログ記事かを振り分けるときのコードは発見したけど、
そのカテゴリが商品カテゴリか否かを振り分けるコードが無いみたいなので、cat_is_ancestor_of()を使用。

[sourcecode language=”php”]
<?php /* If this is a category archive */ if (is_category()) {
/* 現在のカテゴリのカテゴリIDを取得 */
$catnow = get_the_category();
$catnow = $catid[0];
/* welcartにおける商品カテゴリの親玉『商品』のcat_idを取得 */
$catitem = get_category_by_slug(‘item’);
$catitem = $catitem->term_id; ?>
[/sourcecode]

ここまでで、現カテゴリーページのID及び、商品カテゴリの大親カテゴリIDの取得。
あとは、現カテゴリーページが商品カテゴリの子もしくは孫に当たるかどうかを調べるので、

[sourcecode language=”php”]
<?php if(cat_is_ancestor_of( $catitem, $catid ) or is_category($catitem)): ?>
/* ここに商品カテゴリの場合の処理 */
<?php else : ?>
/* ここにブログ記事の場合の処理 */
<?php endif; ?>
[/sourcecode]

以上で振り分けることが出来ます。

ちなみにcat is ancestor of()についてはリファレンスにて確認を。

また、その記事が商品かブログ記事かを振り分けるときのコードに関しては、

[sourcecode language=”php”]
<?php if(usces_is_item()): ?>
[/sourcecode]

という感じで便利な条件分岐タグが実装されているようです。
このタグを使用して、月別あーカーイブ等のページでも通常の記事のレイアウトと商品の場合のレイアウトを分けることができます。

[sourcecode language=”php”]
<?php while (have_posts()) : the_post(); usces_the_item(); ?>
<?php if(usces_is_item()): ?>
/* 商品の時の処理 */
<?php else : ?>
/* ブログ記事の場合の処理 */
<?php endif; ?>
<?php endwhile; ?>
[/sourcecode]

About Little

WordPressをいじくり倒して早10年。一人ぼっちでひたすらソースとにらめっこ厨。 有り難いことに、Welcart/WP e-commerce/WooCommerce/EC-Cube等で多数ECサイトを制作させていただいたけど、ふと気付いた、ちゃんと売れるのか。 効果的に売れるようにするためにはどうしたらいいのか。ということでお勉強を兼ねてECサイトも運営中。
2010年12月20日

Related Posts

0 comments found

Comments for: welcartとブログの共存:カテゴリの振り分け。大親カテゴリの追跡

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です