...

Jest to przykład funkcji, która dodaje niestandardowe pole do edycji produktu w zakładce „Ogólne”. W moim przypadku klient zażyczył sobie na niestandardowe pole o nazwie „Goście”, które będzie można wyświetlić na dowolnej stronie za pomocą krótkiego kodu. Jest to stosunkowo proste rozwiązanie, które na pewno przyda się zagorzałym fanom rozbudowanych funkcji kokpitu.

// Dodawanie nowego pola "Goście" do zakładki "Ogólne" w edycji produktu
function add_guests_custom_field() {
    woocommerce_wp_text_input(
        array(
            'id' => 'guests',
            'label' => __('Goście', 'woocommerce'),
            'placeholder' => __('Wymień gości', 'woocommerce'),
            'desc_tip' => 'true',
            'description' => __('Kto będzie gościem', 'woocommerce')
        )
    );
}
add_action('woocommerce_product_options_general_product_data', 'add_guests_custom_field');

// Zapisywanie wartości pola "Goście"
function save_guests_custom_field($post_id) {
    $guests = isset($_POST['guests']) ? $_POST['guests'] : '';
    update_post_meta($post_id, 'guests', $guests);
}
add_action('woocommerce_process_product_meta', 'save_guests_custom_field');

// Wyświetlanie wartości pola "Goście" za pomocą krótkiego kodu
function display_guests_shortcode($atts) {
    global $product;
    if (!$product) {
        return '';
    }

    $guests = get_post_meta($product->get_id(), 'guests', true);
    if (empty($guests)) {
        return '';
    }

    return sprintf('<div class="product-guests">%s</div>', $guests);
}
add_shortcode('display_guests', 'display_guests_shortcode');
  1. Dodawanie nowego pola „Goście” do zakładki „Ogólne” w edycji produktu:Funkcja add_guests_custom_field() dodaje nowe pole tekstowe o nazwie „Goście” do zakładki „Ogólne” w edycji produktu. Używa ona funkcji woocommerce_wp_text_input(), aby utworzyć pole z odpowiednimi właściwościami, takimi jak identyfikator, etykieta, symbol zastępczy i opis. Następnie funkcja add_action() rejestruje funkcję add_guests_custom_field() jako akcję, która będzie wywoływana podczas wczytywania zakładki „Ogólne” w edycji produktu.
  2. Zapisywanie wartości pola „Goście”:Funkcja save_guests_custom_field() zapisuje wartość wprowadzoną w polu „Goście” dla danego produktu. Odczytuje ona wartość pola z tablicy $_POST, a następnie używa funkcji update_post_meta() do zaktualizowania wartości tego pola w bazie danych. Podobnie jak w przypadku dodawania pola, funkcja add_action() rejestruje funkcję save_guests_custom_field() jako akcję, która będzie wywoływana podczas zapisywania produktu.
  3. Wyświetlanie wartości pola „Goście” za pomocą krótkiego kodu: Funkcja display_guests_shortcode() jest odpowiedzialna za wyświetlanie wartości wprowadzonej w polu „Goście” na stronie produktu. Najpierw uzyskuje ona obiekt bieżącego produktu, a następnie odczytuje wartość pola „Goście” z bazy danych za pomocą funkcji get_post_meta().Jeśli wartość pola „Goście” nie jest pusta, funkcja zwraca wartość jako ciąg znaków HTML, który będzie wyświetlany na stronie produktu. W przeciwnym razie zwraca pusty ciąg znaków. Na koniec, funkcja add_shortcode() rejestruje funkcję display_guests_shortcode() jako krótki kod o nazwie display_guests, który można użyć na stronie produktu, aby wyświetlić wartość pola „Goście”.

Podsumowując, ten kod dodaje nowe pole „Goście” do zakładki „Ogólne” w edycji produktu, zapisuje wprowadzoną wartość tego pola w bazie danych i umożliwia wyświetlanie wartości za pomocą krótkiego kodu [display_guests] na stronie produktu.

Nie znalazłeś funkcji, która Cię interesuje?
Napisz do mnie.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *