Acest ghid te va învăța cum să adaugi câmpuri personalizate în administrarea produselor din WooCommerce pentru a introduce linkuri către variantele de produs (de exemplu, 250g și 500g). De asemenea, vom adăuga butoane personalizate care vor duce utilizatorul către produsele respective.
Ce vom face?
- Vom adăuga câmpuri personalizate pentru linkuri (250g și 500g) în pagina de administrare a produsului.
- Vom salva linkurile introduse de tine.
- Vom afisa butoane personalizate pe pagina produsului pentru variantele de 250g și 500g, folosind linkurile salvate.
Codul complet
<?php
// Adăugăm câmpuri personalizate pentru linkuri (250g și 500g) în pagina de administrare a produsului
function custom_product_fields() {
woocommerce_wp_text_input( array(
'id' => '_link_250g',
'label' => 'Link pentru Cafea 250g',
'placeholder' => 'Introdu linkul pentru 250g',
'desc_tip' => 'true',
'description' => 'Introduceți linkul produsului pentru cafea 250g.'
) );
woocommerce_wp_text_input( array(
'id' => '_link_500g',
'label' => 'Link pentru Cafea 500g',
'placeholder' => 'Introdu linkul pentru 500g',
'desc_tip' => 'true',
'description' => 'Introduceți linkul produsului pentru cafea 500g.'
) );
}
add_action( 'woocommerce_product_options_general_product_data', 'custom_product_fields' );
// Salvăm valorile câmpurilor personalizate
function save_custom_product_fields( $post_id ) {
$link_250g = isset( $_POST['_link_250g'] ) ? sanitize_text_field( $_POST['_link_250g'] ) : '';
$link_500g = isset( $_POST['_link_500g'] ) ? sanitize_text_field( $_POST['_link_500g'] ) : '';
update_post_meta( $post_id, '_link_250g', $link_250g );
update_post_meta( $post_id, '_link_500g', $link_500g );
}
add_action( 'woocommerce_process_product_meta', 'save_custom_product_fields' );
// Afișăm butoanele pe pagina publică a produsului, folosind linkurile salvate
function display_custom_quantity_buttons() {
global $product;
// Verificăm dacă există linkuri personalizate pentru cantitățile alternative
$link_250g = get_post_meta( $product->get_id(), '_link_250g', true );
$link_500g = get_post_meta( $product->get_id(), '_link_500g', true );
if ( $link_250g || $link_500g ) {
echo '<div class="product-quantity-buttons" style="margin-bottom: 20px; display: flex; gap: 10px;">';
if ( ! empty( $link_250g ) ) {
echo '<a href="' . esc_url( $link_250g ) . '" class="quantity-btn" style="background-color: #28a745; color: white; padding: 12px 20px; font-size: 16px; text-decoration: none; border-radius: 5px; display: inline-block; text-align: center; width: auto;">Pachet 250g</a>';
}
if ( ! empty( $link_500g ) ) {
echo '<a href="' . esc_url( $link_500g ) . '" class="quantity-btn" style="background-color: #ff0008; color: white; padding: 12px 20px; font-size: 16px; text-decoration: none; border-radius: 5px; display: inline-block; text-align: center; width: auto;">Fara cofeina 500g</a>';
}
echo '</div>';
}
}
add_action( 'woocommerce_single_product_summary', 'display_custom_quantity_buttons', 20 );
Ce face acest cod?
- Adăugarea câmpurilor personalizate:
- Adaugă două câmpuri de text în pagina de administrare a produsului (pentru linkurile către produsele de 250g și 500g).
- Salvarea linkurilor:
- Valorile introduse în câmpurile personalizate (linkurile pentru variantele de 250g și 500g) sunt salvate în baza de date atunci când produsul este salvat.
- Afișarea butoanelor pe pagina produsului:
- Dacă există linkuri pentru 250g și 500g, butoanele vor fi afișate pe pagina publică a produsului. Dacă nu există linkuri, butoanele nu vor apărea.
Cum să folosești acest cod:
- Accesează administrarea produsului:
- În panoul de administrare WordPress, mergi la Produse > Toate produsele și editează un produs (de exemplu, „Cafea Boabe 1kg”).
- Introdu linkurile pentru 250g și 500g:
- În secțiunea Datele produsului, vei găsi câmpurile pentru Link pentru Cafea 250g și Link pentru Cafea 500g.
- Completează linkurile corespunzătoare și salvează produsul.
- Verifică pagina produsului:
- Accesează pagina publică a produsului și vei vedea butoanele pentru 250g și 500g, care duc către linkurile respective.