add_shortcode('jj_show_product_meta', function($atts) {
if ( ! current_user_can('manage_options') ) {
return 'เฉพาะแอดมินเท่านั้น';
}
$atts = shortcode_atts([
'id' => 0,
], $atts);
$product_id = absint($atts['id']);
if ( ! $product_id && is_product() ) {
$product_id = get_the_ID();
}
if ( ! $product_id ) {
return 'ไม่พบ Product ID';
}
$product = wc_get_product($product_id);
if ( ! $product ) {
return 'ไม่พบสินค้า';
}
ob_start();
echo '
';
echo '
DEBUG PRODUCT META
';
echo '
Product ID: ' . esc_html($product_id) . '
';
echo '
Product Type: ' . esc_html($product->get_type()) . '
';
echo '
Name: ' . esc_html($product->get_name()) . '
';
echo '
SKU: ' . esc_html($product->get_sku()) . '
';
echo '
Regular Price: ' . esc_html($product->get_regular_price()) . '
';
echo '
Sale Price: ' . esc_html($product->get_sale_price()) . '
';
echo '
';
echo '
ค่าที่ต้องเช็คเป็นพิเศษ
';
$check_keys = [
'_notification_number',
'notification_number',
'single_notification_number',
'nonumber',
'_meta_vip_price',
'_vip_price',
'vip_price',
'single_vip_price',
'_meta_barcode',
'barcode',
'_sku',
'w-w',
'g_weight',
'ctn_n',
'ctn_size',
'ctn_weight',
];
echo '
';
echo '| Meta Key | Value |
';
foreach ( $check_keys as $key ) {
$val = get_post_meta($product_id, $key, true);
if ( is_array($val) || is_object($val) ) {
$val = print_r($val, true);
}
echo '';
echo '| ' . esc_html($key) . ' | ';
echo '' . esc_html($val) . ' | ';
echo '
';
}
echo '
';
echo '
';
echo '
Meta ทั้งหมดของสินค้าแม่ / สินค้าเดี่ยว
';
$all_meta = get_post_meta($product_id);
echo '
';
echo '| Meta Key | Value |
';
foreach ( $all_meta as $key => $values ) {
$value = maybe_unserialize($values[0]);
if ( is_array($value) || is_object($value) ) {
$value = print_r($value, true);
}
echo '';
echo '| ' . esc_html($key) . ' | ';
echo '' . esc_html($value) . ' | ';
echo '
';
}
echo '
';
if ( $product->is_type('variable') ) {
echo '
';
echo '
Variation ทั้งหมด
';
$variation_ids = $product->get_children();
foreach ( $variation_ids as $variation_id ) {
$variation = wc_get_product($variation_id);
echo '
';
echo '
Variation ID: ' . esc_html($variation_id) . '
';
echo '
SKU: ' . esc_html($variation ? $variation->get_sku() : '') . '
';
echo '
Regular Price: ' . esc_html($variation ? $variation->get_regular_price() : '') . '
';
echo '
';
echo '| Meta Key | Value |
';
$variation_meta = get_post_meta($variation_id);
foreach ( $variation_meta as $key => $values ) {
$value = maybe_unserialize($values[0]);
if ( is_array($value) || is_object($value) ) {
$value = print_r($value, true);
}
echo '';
echo '| ' . esc_html($key) . ' | ';
echo '' . esc_html($value) . ' | ';
echo '
';
}
echo '
';
echo '
';
}
}
echo '
';
return ob_get_clean();
});