Как получить идентификатор товара для каждого товара в списке товаров W C WP - PullRequest
0 голосов
/ 12 апреля 2020

На странице магазина WooCommerce, где отображается полный список продуктов, я хочу получить идентификатор каждого продукта, чтобы можно было добавить кнопку формы и непосредственно поймать идентификатор каждого продукта. Я пытался вставить в функции. php:

global $product;
$id = $product->get_id();

и

$product = wc_get_product();
$id = $product->get_id();

Но либо он не загружает страницу, либо возвращает идентификатор страницы магазина а не продукт, в котором я нажимаю.

Я помещаю форму во всплывающем окне, и в каждом продукте у меня есть настраиваемое поле, в которое я помещаю кнопку

Я создал всплывающее окно, в которое я вставляю cf7, в моих функциях я использую настраиваемое поле Dynami c для передачи ему идентификатора. php:

add_shortcode( 'product_id', 'get_product_id' );
function get_product_id() {
    //$product_id = sanitize_text_field( $_POST[ 'product_id' ] );
    $id = get_the_ID($product_id);
    return $id;
}

кнопка для всплывающего окна, которое я вставил в l oop в content-product. php

echo the_field('compartir');

При этом у меня есть кнопка в каждом продукте, которая при нажатии открывает всплывающее окно с формой cf7. Но идентификатор, который я получаю, - это идентификатор страницы, а не каждого продукта.

Я только что использовал этот код, и он возвращает тот же идентификатор страницы, а не продукт

add_action( 'wpcf7_init', 'mp_cf7_custom_shortcode' );
function mp_cf7_custom_shortcode() {    
    wpcf7_add_form_tag('id_producto','get_id_producto');
}
function get_id_producto(){
    $id = get_the_ID($product_id);
    return '<input type="text" name="prod-id" value="'. $id .'" />';
}

Может кто-нибудь поможет мне?

...