ここでは、functions.phpで行う必要があるロジックについて説明しましたが、カスタムショートコードを作成しました。
function get_c_product($atts){
$params = shortcode_atts(array(
'id' => '0',
), $atts);
$args = array('post_type'=>'product','post__in'=>array($params['id']));
$the_query = new WP_Query($args);
// The Loop
if ($the_query->have_posts()) {
$return = '<ul>';
while ($the_query->have_posts()) {
$the_query->the_post();
$_product = wc_get_product(get_the_ID());
$return .= '<li>' . woocommerce_get_product_thumbnail() . '</li>';
$return .= '<li>' . get_the_title() . '</li>';
$return .= '<li>' . do_shortcode('[add_to_cart id='.get_the_ID().']') . '</li>';
}
$return .= '</ul>';
/* Restore original Post Data */
wp_reset_postdata();
} else {
// no posts found
}
return $return;
}
add_shortcode('product_custom','get_c_product');
次に、このようにショートコードを使用する:echo do_shortcode('[product_custom id="99"]');
または[product_custom id="99"]
あなたは、製品IDに基づいてのみ、「カートに入れる」ボタンを表示したいでしたか?私は正しい? – purvik7373
いいえ、画像や商品名など、すべてを表示します。ただし、画像と商品名は何にもリンクしてはいけません。カートに追加ボタンだけが通常のリンクを持つ必要があります。 – RadicalM1nd