私はJigoshopを使ってeコマースサイトを構築しています。
最終目標は、フロントページに注目の製品セクションを含めることです。
Jigoshopはショートコードを提供しますが、ショートコードのデフォルトは中程度の画像サイズです。大きな画像サイズを使用したいので、注目の画像を確認するために条件付きでWP_queryを実行し、画像、商品のタイトル、説明を取得しましたが、[カートに追加]ボタンを取得する方法を見つけられないようです生成されました。
何か案は?
さて、私はそれを理解することができた(はるかに長い時間後に...):
ここにコードがあります、それが醜いかどうか私に知らせてください、私はwordpressとphpの両方に不慣れですので:
//Query the wordpress database for product posts
$my_products = new WP_Query(
array(
'post_type' => 'product',
)
);
//loop through my queried posts
<?php while ($my_products->have_posts()) : $my_products->the_post(); $_product = &new jigoshop_product( $post->ID );?>
//find the posts that have the meta_key 'featured' with the value of 'yes' (they all have a featured tag with either yes or no)
<?php if(get_post_meta($post->ID, 'featured', yes) == 'yes') : ?>
//make the product header a link to the product page
<h1><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>
//copied this code for getting the product thumbs
<?php echo '<div class="images">';
$thumb_id = 0;
if (has_post_thumbnail()) :
$thumb_id = get_post_thumbnail_id();
// since there are now user settings for sizes, shouldn't need filters -JAP-
//$large_thumbnail_size = apply_filters('single_product_large_thumbnail_size', 'shop_large');
$large_thumbnail_size = jigoshop_get_image_size( 'shop_large' );
//had to edit the href from original value to .get_permalink so it would link to product page instead of the image itself
echo '<a href="'.get_permalink().'" rel="thumbnails">';
the_post_thumbnail($large_thumbnail_size);
echo '</a>';
else :
echo jigoshop_get_image_placeholder( 'shop_large' );
endif;
//commented out this section so it wouldn't thumbnail ALL the products images, just one
//do_action('jigoshop_product_thumbnails');
echo '</div>'; ?>
//get the product description
<p><?php the_content(); ?></p>
//create the 'add to cart' button
<a href="<?php echo $_product->add_to_cart_url(); ?>" class="button"><?php _e('Add to cart', 'jigoshop'); ?></a>
//reset the query (no idea if this is necessary, anyone?
<?php wp_reset_query(); ?>
<?php endif; ?>
<?php endwhile; ?>