Ten kod PHP definiuje funkcję display_product_stock(), która jest rejestrowana jako shortcode product_stock dla WordPressa. Ten shortcode umożliwia wyświetlanie liczby dostępnych sztuk produktu w sklepie WooCommerce na podstawie podanego ID produktu. Można go używać w treści postów, stron czy widgetach, które obsługują shortcode’y.
function display_product_stock( $atts ) { // Pobieramy atrybuty shortcode'u $atts = shortcode_atts( array( 'id' => null, ), $atts ); // Sprawdzamy, czy ID produktu zostało podane if ( null === $atts['id'] ) { return 'Brak ID produktu.'; } // Pobieramy produkt $product = wc_get_product( $atts['id'] ); // Sprawdzamy, czy produkt istnieje if ( false === $product ) { return 'Produkt o podanym ID nie istnieje.'; } // Zwracamy dostępne ilości return 'Dostępne sztuki: ' . $product->get_stock_quantity(); } add_shortcode( 'product_stock', 'display_product_stock' );
1. Definiowanie funkcji display_product_stock():
Ta funkcja akceptuje jeden argument, $atts, który to jest tablicą atrybutów przekazywanych do shortcode’u.
2. Pobieranie atrybutów shortcode’u za pomocą funkcji shortcode_atts():
W atrybutach szukamy ’id’, które powinno zawierać ID produktu.
3. Sprawdzanie, czy ID produktu zostało podane:
Jeżeli 'id’ nie zostało podane w atrybutach shortcode’u, funkcja zwraca wiadomość ’Brak ID produktu.’
4. Pobieranie produktu za pomocą funkcji wc_get_product():
Ta funkcja zwraca obiekt produktu na podstawie podanego ID.
5. Sprawdzanie, czy produkt istnieje:
Jeżeli funkcja wc_get_product() zwraca false, to znaczy, że produkt o podanym ID nie istnieje. W takim przypadku funkcja zwraca wiadomość ’Produkt o podanym ID nie istnieje.’
6. Zwracanie dostępnej ilości sztuk:
Jeżeli wszystko jest w porządku, funkcja zwraca wiadomość ’Dostępne sztuki: ’ wraz z ilością dostępnych sztuk produktu.
7. Rejestracja shortcode’u ’product_stock’:
Używamy funkcji add_shortcode(), aby zarejestrować ’product_stock’ jako shortcode, który używa funkcji display_product_stock() do generowania wyjścia. Teraz możemy używać [product_stock id=”123″] w treści naszych postów lub stron, aby wyświetlić dostępne sztuki produktu o ID 123.