woocommerce-使用通过网络链接传递的变量更新变量产品属性

时间:2018-10-13 15:52:34

标签: php wordpress woocommerce

我开发了一个网站来出售我的照片。我有100多张照片,但是我不想在我的商店中创建尽可能多的产品。因此,我刚刚创建了一种具有相关属性(尺寸,表面处理...)的产品。在我的画廊中,当我单击照片打开产品页面时,我想通过产品页面Web链接将照片的名称发送到变量中,以便将其作为属性集成到产品中。我该怎么办?

谢谢大家的帮助;)

1 个答案:

答案 0 :(得分:0)

好的,我编码了几行。此函数复制产品(模板)并使用通过Web链接传递的变量更新新产品的标题,然后重定向到新产品页面。

function duplicate_product() {

//Image reference from web link (../produit/tirage-sur-commande/?image=xxx)
$img =  $_GET['image'];

if ($img != '') {//Only if $img has a value

    if(strpos($_SERVER['REQUEST_URI'], '/produit/tirage-sur-commande/') === 0) {//Only if template product is 'selected' 

    //Check if Product with same reference already exists
    require_once ABSPATH . '/wp-admin/includes/post.php';
    if ( post_exists( $img ) == 0 ) {//If not exists: duplicate product

        //Duplicate product
        $wc_adp = new WC_Admin_Duplicate_Product; 
        $dproduct = $wc_adp->product_duplicate( wc_get_product( '3386' ) );

        //New Product Id 
        $new_id = $dproduct ->get_id();

        // Update product
        $new_pdct = array(
            'ID'           => $new_id,
            'post_title'   => $img,
            'post_status' => 'publish',
        );
        wp_update_post( $new_pdct );
    }
    //Open new product page
    $url = home_url( '/' ) . 'produit/' . $img;
    wp_redirect( $url );
    }
}
}