WooCommerce - 不使用“单一产品短代码”链接到产品

时间:2017-05-05 14:51:43

标签: php wordpress woocommerce

我想使用WooCommerce短代码

[product id="99"]

但是,我希望产品图片和产品名称本身不会链接到单个产品页面。我想要的只是“添加到购物车”按钮按预期工作,但没有其他任何可点击的。

这可能吗?我需要编辑什么模板?

如果更容易,则不需要仅适用于特定的短代码。我从不希望让人们能够访问产品页面,所以如果有一种“全球”方式可以做到这一点,它也会起作用。

1 个答案:

答案 0 :(得分: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"]