woocommerce - обновляет атрибут продукта с помощью переменной, передаваемой по веб-ссылке - PullRequest
0 голосов
/ 13 октября 2018

Я разрабатываю веб-сайт для продажи своих отпечатков.У меня более 100 фотографий, но я не хочу создавать столько товаров в своем магазине.Поэтому я только что создал один продукт со связанными атрибутами (размер, отделка ...).В моих галереях, когда я нажимаю на фотографию, чтобы открыть страницу продукта, я хотел бы отправить имя фотографии в переменной через веб-ссылку на страницу продукта, чтобы она была интегрирована в продукт в качестве атрибута.Как я могу это сделать?

Спасибо всем за помощь;)

1 Ответ

0 голосов
/ 14 октября 2018

ОК, я закодировал несколько строк.Эта функция дублирует продукт (шаблон) и обновляет заголовок нового продукта с помощью переменной, переданной в веб-ссылке, а затем перенаправляет на страницу нового продукта.

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 );
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...