Hirdetés

Új hozzászólás Aktív témák

  • adatfalo

    senior tag

    válasz kuyarashi #8982 üzenetére

    Szia!

    Vagy pluginnal, pl: Product Input Fields for WooCommerce és társai.

    Vagy kóddal, ez egy példa, functions.php-ba kell betenni és személyre szabni:

    // Egyedi mezők hozzáadása a termék oldalra
    add_action('woocommerce_before_add_to_cart_button', 'custom_product_fields', 10);
    function custom_product_fields() {
        echo '<div class="custom-fields">';
        echo '<input type="text" name="custom_field_1" placeholder="Custom Field 1">';
        echo '<input type="text" name="custom_field_2" placeholder="Custom Field 2">';
        echo '</div>';
    }
    // Az egyedi mezők értékeinek mentése
    add_filter('woocommerce_add_cart_item_data', 'save_custom_fields', 10, 2);
    function save_custom_fields($cart_item_data, $product_id) {
        if(isset($_POST['custom_field_1'])) {
            $cart_item_data['custom_field_1'] = sanitize_text_field($_POST['custom_field_1']);
        }
        if(isset($_POST['custom_field_2'])) {
            $cart_item_data['custom_field_2'] = sanitize_text_field($_POST['custom_field_2']);
        }
        return $cart_item_data;
    }
    // Az egyedi mezők megjelenítése a kosárban és a pénztárnál
    add_filter('woocommerce_get_item_data', 'display_custom_fields', 10, 2);
    function display_custom_fields($item_data, $cart_item) {
        if(array_key_exists('custom_field_1', $cart_item)) {
            $item_data[] = array(
                'name' => 'Custom Field 1',
                'value' => $cart_item['custom_field_1']
            );
        }
        if(array_key_exists('custom_field_2', $cart_item)) {
            $item_data[] = array(
                'name' => 'Custom Field 2',
                'value' => $cart_item['custom_field_2']
            );
        }
        return $item_data;
    }
    // Az egyedi mezők hozzáadása az e-mail értesítésekhez
    add_action('woocommerce_checkout_create_order_line_item', 'custom_fields_in_order_emails', 10, 4);
    function custom_fields_in_order_emails($item, $cart_item_key, $values, $order) {
        if(array_key_exists('custom_field_1', $values)) {
            $item->add_meta_data('Custom Field 1', $values['custom_field_1']);
        }
        if(array_key_exists('custom_field_2', $values)) {
            $item->add_meta_data('Custom Field 2', $values['custom_field_2']);
        }
    }

    www.adatfalodesign.hu

Új hozzászólás Aktív témák