Ten kod jest przeznaczony do dodania do pliku functions.php
(alternatywa – Wtyczka „Code Snippets”) w motywie lub w niestandardowej wtyczce WordPress. Jego głównym celem jest dodanie niestandardowego krótkiego kodu (shortcode) o nazwie pmpro_expiration_date
, który wyświetla datę zakończenia subskrypcji dla zalogowanego użytkownika. Ten krótki kod może być umieszczony w treści postów, stron czy widgetów.
// Dodaj poniższy kod do pliku functions.php w motywie lub w niestandardowej wtyczce function pmpro_show_expiration_date_shortcode($atts) { // Pobieranie danych o aktualnie zalogowanym użytkowniku $current_user = wp_get_current_user(); // Sprawdzanie, czy użytkownik jest zalogowany if (!$current_user->ID) { return 'Musisz być zalogowany, aby zobaczyć tę informację.'; } // Pobieranie danych o subskrypcji $subscription = pmpro_getMembershipLevelForUser($current_user->ID); // Sprawdzanie, czy użytkownik ma aktywną subskrypcję if (!$subscription) { return 'Nie posiadasz aktywnej subskrypcji.'; } // Pobieranie daty zakończenia subskrypcji $expiration_date = $subscription->enddate; // Sprawdzanie, czy data zakończenia subskrypcji istnieje if (!$expiration_date) { return 'Twoja subskrypcja nie wygasa.'; } // Formatowanie daty zakończenia subskrypcji $formatted_expiration_date = date_i18n(get_option('date_format'), $expiration_date); // Zwracanie sformatowanej daty zakończenia subskrypcji return 'Data zakończenia subskrypcji: ' . $formatted_expiration_date; } add_shortcode('pmpro_expiration_date', 'pmpro_show_expiration_date_shortcode');
- Definiujemy funkcję
pmpro_show_expiration_date_shortcode($atts)
, która będzie obsługiwać nasz krótki kod. - Pobieramy dane o aktualnie zalogowanym użytkowniku za pomocą funkcji
wp_get_current_user()
. - Sprawdzamy, czy użytkownik jest zalogowany, sprawdzając wartość
ID
aktualnego użytkownika. Jeśli użytkownik nie jest zalogowany, zwracamy komunikat, że musi się zalogować, aby zobaczyć tę informację. - Pobieramy dane o subskrypcji użytkownika za pomocą funkcji
pmpro_getMembershipLevelForUser($current_user->ID)
. - Sprawdzamy, czy użytkownik ma aktywną subskrypcję. Jeśli nie, zwracamy komunikat, że nie posiada aktywnej subskrypcji.
- Pobieramy datę zakończenia subskrypcji z obiektu
$subscription
jako$expiration_date
. - Sprawdzamy, czy data zakończenia subskrypcji istnieje. Jeśli nie, zwracamy komunikat, że subskrypcja użytkownika nie wygasa.
- Formatujemy datę zakończenia subskrypcji za pomocą funkcji
date_i18n(get_option('date_format'), $expiration_date)
. Używamy formatu daty zdefiniowanego w ustawieniach WordPress. - Zwracamy sformatowaną datę zakończenia subskrypcji z odpowiednim opisem.
- Rejestrujemy nasz krótki kod za pomocą funkcji
add_shortcode('pmpro_expiration_date', 'pmpro_show_expiration_date_shortcode')
.
Shortcode: [ pmpro_expiration_date ]