2017-05-05 19 views
0

私は希望がない、個々の製品にリンク、製品の画像や商品名自体の両方を持つようにWooCommerceのショートWooCommerce - 「単一の製品ショート」を使用した製品へのリンクではないが

[product id="99"] 

に使用したいですページ。私が欲しいのは、「カートに入れる」ボタンが意図したとおりに機能していて、クリック可能なものは何もありません。

これは可能ですか?どのテンプレートを編集する必要がありますか?

これは、特定のショートコードにのみ適用する必要はありません。私は人々が製品のページにアクセスできるようにすることは決して望んでいないので、これを行う「グローバルな」方法があれば、それもうまくいくでしょう。

+0

あなたは、製品IDに基づいてのみ、「カートに入れる」ボタンを表示したいでしたか?私は正しい? – purvik7373

+0

いいえ、画像や商品名など、すべてを表示します。ただし、画像と商品名は何にもリンクしてはいけません。カートに追加ボタンだけが通常のリンクを持つ必要があります。 – RadicalM1nd

答えて

1

ここでは、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"]

+0

ありがとう!それはまさに私が望んでいたように働いた。 – RadicalM1nd

+0

よろしくお願いします:) –

関連する問題