Jak wyświetlić ogólną informację na stronie WordPress
Ogólnoserwisowe powiadomienie w WordPress to trwały baner lub pasek powiadomień wyświetlany na każdej stronie witryny, służący do przekazywania wszystkim odwiedzającym jednocześnie pilnych komunikatów, promocji, alertów dotyczących zgody na pliki cookie lub informacji o przerwach w działaniu usługi. W przeciwieństwie do treści specyficznych dla danej strony, ogólnoserwisowe powiadomienie jest wstrzykiwane na poziomie szablonu motywu — za pomocą hooka wtyczki, functions.php motywu, silnika warunków wyświetlania kreatora stron lub bezpośredniej modyfikacji szablonu PHP — co zapewnia jego wyświetlanie niezależnie od tego, na jaki adres URL trafi odwiedzający.
Ten przewodnik omawia cztery metody gotowe do wdrożenia produkcyjnego, uszeregowane od najniższej do najwyższej złożoności implementacji, wraz z technicznymi przypadkami brzegowymi, kwestiami wydajności i pułapkami związanymi z pamięcią podręczną, które większość poradników całkowicie pomija.
Dlaczego ogólnoserwisowe powiadomienia mają znaczenie poza marketingiem
Przed wyborem metody implementacji warto zrozumieć, co tak naprawdę dzieje się pod maską. Ogólnoserwisowe powiadomienie jest renderowane przy każdej odpowiedzi serwera lub wstrzykiwane przez JavaScript po załadowaniu DOM. To rozróżnienie ma realne konsekwencje:
- Renderowanie po stronie serwera (SSR) za pomocą hooków szablonu PHP jest indeksowane przez Googlebot i widoczne przed wykonaniem JavaScript — kluczowe dla dostępności i SEO.
- Powiadomienia wstrzykiwane przez JavaScript (powszechne w niektórych wtyczkach) mogą nie pojawiać się podczas pierwszego renderowania przez Google i mogą powodować Cumulative Layout Shift (CLS), bezpośrednio obniżając wynik Core Web Vitals.
- Pełne buforowanie stron (WP Rocket, LiteSpeed Cache, Nginx FastCGI cache) spowoduje zapisanie HTML powiadomienia w pamięci podręcznej. Jeśli chcesz wyświetlać powiadomienie tylko zalogowanym użytkownikom lub na podstawie geolokalizacji, statyczna strona z pamięci podręcznej całkowicie zignoruje tę logikę, chyba że skonfigurujesz wykluczenia pamięci podręcznej lub użyjesz buforowania fragmentarycznego.
Środowisko hostingowe ma tu znaczenie. W środowisku VPS Hosting, gdzie kontrolujesz konfigurację Nginx lub Apache, możesz wdrożyć reguły pomijania pamięci podręcznej dla określonych plików cookie ustawianych przez wtyczkę powiadomień. Na hostingu współdzielonym jesteś ograniczony do warstwy pamięci podręcznej udostępnianej przez dostawcę.
Metoda 1: Użycie dedykowanej wtyczki WordPress
To najszybsza droga do gotowego produkcyjnie powiadomienia i nie wymaga żadnego kodowania. Kompromisem jest narzut wtyczki i zależność od cyklu aktualizacji zewnętrznego dostawcy.
Zalecane wtyczki
| Wtyczka | Aktywne instalacje | Główne zalety | Potencjalne wady |
|---|---|---|---|
| WPFront Notification Bar | 100 000+ | Lekka, pozycjonowanie przyklejone, odrzucanie oparte na plikach cookie | Ograniczone opcje projektowania w wersji bezpłatnej |
| Simple Banner | 50 000+ | Minimalny ślad, obsługa niestandardowego CSS/JS | Brak harmonogramowania w wersji bezpłatnej |
| Hello Bar | 500 000+ | Testy A/B, geotargetowanie, przechwytywanie e-maili | Ładuje zewnętrzne skrypty, zwiększa opóźnienia |
| Elementor Hello Theme Bar | N/A (wbudowany) | Natywna integracja, brak dodatkowej wtyczki | Wymaga Elementor Pro |
| WP Notification Bars | 20 000+ | Harmonogramowanie, wiele pasków, śledzenie kliknięć | Przestarzały interfejs użytkownika |
Krok 1: Instalacja i aktywacja
Zaloguj się do panelu administracyjnego WordPress i przejdź do Wtyczki > Dodaj nową. Wyszukaj WPFront Notification Bar, kliknij Zainstaluj teraz, a następnie Aktywuj.
Krok 2: Konfiguracja paska powiadomień
Przejdź do Ustawienia > WPFront Notification Bar. Kluczowe pola konfiguracji do uzupełnienia:
- Treść wiadomości: Obsługuje HTML, więc możesz bezpośrednio osadzać tagi kotwicy, tagi
<strong>lub style inline. - Pozycja: Góra lub dół. Umieszczenie na górze jest bardziej widoczne, ale zwiększa ryzyko CLS, jeśli pasek ładuje się po pierwszym renderowaniu. Umieszczenie na dole jest bezpieczniejsze dla Core Web Vitals.
- Zachowanie przyklejone: Włączenie pozycjonowania „fixed” utrzymuje pasek na ekranie podczas przewijania. Używa
position: fixedw CSS, co usuwa element z przepływu dokumentu i może nakładać się na nagłówek motywu na urządzeniach mobilnych — testuj na wielu rozmiarach okna przeglądarki. - Warunki wyświetlania: Ogranicz powiadomienie do określonych typów wpisów, stron lub ról użytkowników. Na przykład wyświetlanie powiadomienia tylko niezalogowanym użytkownikom wymaga, aby wtyczka ustawiła warunkowe sprawdzenie względem
is_user_logged_in(). - Odrzucanie przez plik cookie: Gdy użytkownik zamknie powiadomienie, ustawiany jest plik cookie przeglądarki. Powiadomienie nie pojawi się ponownie, dopóki ten plik cookie nie wygaśnie. Ustaw odpowiedni TTL — dla 48-godzinnej wyprzedaży błyskawicznej sensowny jest 2-dniowy plik cookie. Dla stałego powiadomienia RODO ustaw wartość 0 (nigdy nie odrzucaj automatycznie).
Krok 3: Zapisz i zweryfikuj
Kliknij Zapisz ustawienia. Otwórz swoją witrynę w oknie incognito (aby uniknąć ingerencji plików cookie administratora w logikę wyświetlania) i sprawdź, czy pasek renderuje się na stronie głównej, wpisie blogowym i stronie statycznej.
Krytyczny przypadek brzegowy: Jeśli używasz wtyczki do pełnego buforowania stron, wyczyść pamięć podręczną po zapisaniu. W przeciwnym razie odwiedzający zobaczą starą wersję strony z pamięci podręcznej bez powiadomienia.
Metoda 2: Użycie Kreatora motywów WordPress
Wiele nowoczesnych motywów — szczególnie tych zbudowanych na frameworkach takich jak Genesis, Astra, GeneratePress lub OceanWP — zawiera natywny komponent Paska ogłoszeń lub Górnego paska. To podejście nie generuje żadnego narzutu wtyczki i jest najczystszą opcją, jeśli Twój motyw to obsługuje.
Krok 1: Dostęp do Kreatora motywów
Przejdź do Wygląd > Dostosuj. Szukaj sekcji oznaczonych jako Opcje nagłówka, Górny pasek, Pasek ogłoszeń lub Pasek narzędzi. Dokładna etykieta zależy od motywu.
Krok 2: Konfiguracja paska ogłoszeń
W panelu kreatora zazwyczaj znajdziesz:
- Pole tekstowe lub HTML do wprowadzenia treści powiadomienia
- Selektory kolorów tła i tekstu
- Przełącznik do globalnego włączania/wyłączania paska
- Opcjonalne pole linku dla przycisku CTA
Kreator renderuje zmiany w podglądzie na żywo w ramce iframe. Użyj tego, aby sprawdzić, jak pasek współdziała z menu nawigacyjnym na komputerach stacjonarnych i mobilnych przed opublikowaniem.
Krok 3: Opublikuj
Kliknij Opublikuj. Zmiany są zapisywane w opcji bazy danych theme_mods dla aktywnego motywu. Żadne pliki nie są modyfikowane, co oznacza, że dostosowanie przeżywa aktualizacje motywu (dla motywów potomnych lub motywów przechowujących modyfikacje w bazie danych, a nie w style.css).
Ważne: Jeśli aktualizujesz motyw nadrzędny bez używania motywu potomnego, a motyw przechowuje logikę paska ogłoszeń w pliku szablonu zamiast w hooku filtra, konfiguracja powiadomienia może zostać nadpisana. Zawsze używaj motywu potomnego podczas modyfikowania zachowania motywu.
Metoda 3: Dodawanie ogólnoserwisowego powiadomienia za pomocą niestandardowego kodu
Bezpośrednia implementacja PHP i CSS daje Ci pełną kontrolę nad logiką renderowania, stylizacją i wydajnością. To właściwe podejście, gdy potrzebujesz warunkowej logiki wyświetlania, której żadna wtyczka nie udostępnia, lub gdy chcesz zminimalizować żądania HTTP i wykonanie JavaScript.
Krok 1: Dodaj HTML za pomocą hooka motywu
Zamiast bezpośrednio edytować header.php — co psuje się przy aktualizacjach motywu — użyj hooka akcji wp_body_open lub hooka wp_head wewnątrz functions.php motywu potomnego. To idiomatyczne podejście WordPress.
Dodaj następujący kod do functions.php motywu potomnego:
function alexhost_sitewide_notice() {
// Only display for non-logged-in users
if ( is_user_logged_in() ) {
return;
}
?>
<div class="sitewide-notice" role="alert" aria-live="polite">
<p>Scheduled maintenance on Saturday 02:00–04:00 UTC.
<a href="/maintenance-info/">Learn more</a>
</p>
<button class="sitewide-notice__close" aria-label="Dismiss notice">×</button>
</div>
<?php
}
add_action( 'wp_body_open', 'alexhost_sitewide_notice' );Dlaczego wp_body_open zamiast wp_head? Hook wp_head uruchamia się wewnątrz <head>, co jest niewłaściwym miejscem dla widocznego HTML. wp_body_open uruchamia się bezpośrednio po otwierającym tagu <body>, co jest semantycznie poprawne i obsługiwane przez wszystkie motywy wywołujące wp_body_open() w swoich szablonach. Jeśli Twój motyw nie wywołuje tej funkcji, wróć do hookowania do get_header z buforem wyjściowym lub edytuj header.php w motywie potomnym.
Jeśli musisz bezpośrednio edytować plik szablonu, otwórz header.php motywu potomnego i wstaw znaczniki powiadomienia bezpośrednio po tagu <body>:
<div class="sitewide-notice" role="alert" aria-live="polite">
<p>This is an important announcement!
<a href="https://example.com">Learn more here.</a>
</p>
</div>Krok 2: Dodaj CSS przez Kreator lub functions.php
W przypadku małych fragmentów CSS użyj Wygląd > Dostosuj > Dodatkowy CSS. W przypadku bardziej złożonych rzeczy dodaj arkusz stylów z motywu potomnego.
Wklej następujący kod do Dodatkowego CSS:
.sitewide-notice {
background-color: #1a73e8;
color: #ffffff;
text-align: center;
padding: 12px 40px;
position: sticky;
top: 0;
width: 100%;
z-index: 9999;
box-sizing: border-box;
font-size: 0.95rem;
line-height: 1.5;
}
.sitewide-notice a {
color: #ffffff;
text-decoration: underline;
font-weight: 600;
}
.sitewide-notice a:hover {
opacity: 0.85;
}
.sitewide-notice__close {
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
background: transparent;
border: none;
color: #ffffff;
font-size: 1.4rem;
cursor: pointer;
line-height: 1;
}
@media (max-width: 768px) {
.sitewide-notice {
font-size: 0.85rem;
padding: 10px 36px;
}
}position: sticky vs position: fixed: Użycie sticky utrzymuje powiadomienie w przepływie dokumentu, zapobiegając nakładaniu się na nawigację. fixed usuwa je z przepływu, co może powodować renderowanie treści pod paskiem, chyba że dodasz pasujący padding-top do elementu <body> lub <main>. Dla większości motywów sticky jest bezpieczniejszym ustawieniem domyślnym.
Krok 3: Dodaj JavaScript do odrzucania opartego na plikach cookie
Bez mechanizmu odrzucania powiadomienie pojawia się ponownie przy każdym załadowaniu strony, co pogarsza doświadczenie użytkownika. Dodaj ten skrypt przez Wygląd > Dostosuj > Dodatkowy CSS (nieidealne) lub, lepiej, dodaj go właściwie w functions.php:
function alexhost_notice_dismiss_script() {
wp_enqueue_script(
'notice-dismiss',
get_stylesheet_directory_uri() . '/js/notice-dismiss.js',
array(),
'1.0.0',
true // Load in footer
);
}
add_action( 'wp_enqueue_scripts', 'alexhost_notice_dismiss_script' );Utwórz /wp-content/themes/your-child-theme/js/notice-dismiss.js z:
(function () {
var COOKIE_NAME = 'sitewide_notice_dismissed';
var COOKIE_TTL_DAYS = 7;
function getCookie(name) {
var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
return match ? match[2] : null;
}
function setCookie(name, value, days) {
var expires = new Date(Date.now() + days * 864e5).toUTCString();
document.cookie = name + '=' + value + '; expires=' + expires + '; path=/; SameSite=Lax';
}
var notice = document.querySelector('.sitewide-notice');
if (!notice) return;
if (getCookie(COOKIE_NAME) === '1') {
notice.style.display = 'none';
return;
}
var closeBtn = notice.querySelector('.sitewide-notice__close');
if (closeBtn) {
closeBtn.addEventListener('click', function () {
notice.style.display = 'none';
setCookie(COOKIE_NAME, '1', COOKIE_TTL_DAYS);
});
}
}());Ten skrypt jest samodzielny, nie ma zależności od jQuery i uruchamia się po załadowaniu DOM, ponieważ jest dodany w stopce.
Krok 4: Weryfikacja w różnych kontekstach
- Otwórz witrynę w oknie incognito, aby potwierdzić widoczność powiadomienia.
- Kliknij przycisk odrzucenia i przeładuj — powiadomienie powinno być ukryte.
- Ręcznie wyczyść plik cookie przez DevTools przeglądarki (Aplikacja > Pliki cookie) i przeładuj — powiadomienie powinno pojawić się ponownie.
- Testuj na mobilnym oknie przeglądarki (minimum szerokość 320px), aby potwierdzić działanie responsywnego CSS.
Metoda 4: Użycie kreatora stron (Elementor, Bricks, Oxygen)
Kreatory stron z modułem Theme Builder pozwalają wizualnie zaprojektować powiadomienie i przypisać je do wszystkich stron za pomocą warunków wyświetlania. To najlepsza opcja dla zespołów zarządzających treścią wizualnie, które potrzebują precyzyjnego projektu bez dotykania kodu.
Elementor Pro: podejście z Theme Builder
Krok 1: Przejdź do Szablony > Theme Builder > Nagłówek (lub utwórz nowy szablon Niestandardowego nagłówka).
Krok 2: Dodaj nową Sekcję na samej górze szablonu nagłówka. Wewnątrz umieść widget Edytor tekstu lub Nagłówek z treścią ogłoszenia. Stylizuj go za pomocą panelu Elementora — dostępne są kolory tła, typografia, padding i widgety przycisków.
Krok 3: W sekcji Opublikuj > Warunki wyświetlania ustaw warunek na Cała witryna. Zapewnia to renderowanie sekcji na każdej stronie korzystającej z tego szablonu nagłówka.
Krok 4: Opublikuj szablon. Elementor zapisuje dane wyjściowe szablonu we własnych tabelach bazy danych i renderuje je za pomocą swojego silnika szablonów przy każdym załadowaniu strony.
Uwaga dotycząca wydajności: Theme Builder Elementora Pro ładuje dodatkowe zasoby CSS i JavaScript. Na witrynie wrażliwej na wydajność zmierz wpływ za pomocą Lighthouse przed i po. Jeśli narzut jest nie do zaakceptowania, metoda niestandardowego kodu (Metoda 3) jest bardziej wydajna.
Podejście z Bricks Builder
W Bricks > Szablony utwórz nowy szablon Nagłówka. Dodaj kontener na górze nagłówka, zaprojektuj powiadomienie i ustaw Warunki szablonu tak, aby stosowały się do wszystkich stron. Bricks generuje czysty, minimalny HTML w porównaniu do Elementora, co czyni go lepszym wyborem dla projektów skupionych na wydajności.
Porównanie wszystkich czterech metod
| Metoda | Wymagane umiejętności techniczne | Wpływ na wydajność | Zgodność z pamięcią podręczną | Obsługa harmonogramowania | Obsługa odrzucania |
|---|---|---|---|---|---|
| Wtyczka (WPFront itp.) | Niskie | Niski–Średni | Wymaga wyczyszczenia pamięci podręcznej | Tak (Pro) | Tak (oparte na plikach cookie) |
| Kreator motywów | Niskie | Minimalny | W pełni zgodna | Nie | Nie |
| Niestandardowy PHP/CSS/JS | Średnie–Wysokie | Minimalny | W pełni zgodna | Przez niestandardową logikę | Tak (niestandardowy plik cookie) |
| Kreator stron (Elementor Pro) | Średnie | Średni–Wysoki | Wymaga wyczyszczenia pamięci podręcznej | Przez warunki wyświetlania | Zależne od wtyczki |
Kwestie wydajności i pamięci podręcznej
Ta sekcja omawia najczęstszy tryb awarii produkcyjnej: powiadomienie, które działa idealnie w środowisku deweloperskim, ale zachowuje się niespójnie na działającej, buforowanej witrynie.
Pełne buforowanie stron przechowuje kompletne dane wyjściowe HTML strony. Jeśli Twoje powiadomienie jest renderowane po stronie serwera, a następnie strona jest buforowana, każdy odwiedzający — niezależnie od tego, czy odrzucił powiadomienie — otrzyma ten sam buforowany HTML. JavaScript odrzucania oparty na plikach cookie nadal ukryje powiadomienie po stronie klienta, ale HTML zawsze będzie obecny w źródle.
Jeśli potrzebujesz, aby serwer pomijał renderowanie powiadomienia dla użytkowników, którzy je odrzucili (na przykład w celu zmniejszenia ładunku HTML lub uniknięcia błysku powiadomienia przy ładowaniu), musisz skonfigurować wtyczkę pamięci podręcznej tak, aby pomijała buforowanie, gdy plik cookie odrzucenia jest obecny.
W WP Rocket dodaj nazwę pliku cookie do Ustawienia > Zaawansowane reguły > Nigdy nie buforuj plików cookie:
sitewide_notice_dismissedW LiteSpeed Cache przejdź do Pamięć podręczna > Wykluczenia > Nie buforuj plików cookie i dodaj tę samą wartość.
Na serwerowej pamięci podręcznej Nginx FastCGI dodaj warunek pomijania pamięci podręcznej do konfiguracji Nginx:
map $http_cookie $skip_cache {
default 0;
"~*sitewide_notice_dismissed=1" 1;
}
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;Zapewnia to, że użytkownicy, którzy odrzucili powiadomienie, otrzymują dynamicznie generowaną stronę bez HTML powiadomienia, podczas gdy wszyscy pozostali odwiedzający są obsługiwani z buforowanej wersji z powiadomieniem.
Jeśli uruchamiasz WordPress na VPS z cPanel lub w pełni zarządzanym Serwerze dedykowanym, masz bezpośredni dostęp do plików konfiguracyjnych Nginx lub Apache, aby wdrożyć te reguły pomijania pamięci podręcznej na poziomie serwera — co nie jest możliwe na standardowych planach hostingu współdzielonego.
Wymagania dotyczące dostępności
Ogólnoserwisowe powiadomienie, które nie spełnia standardów dostępności, może narazić Twoją witrynę na ryzyko prawne zgodnie z ramami WCAG 2.1 i ADA. Stosuj te wymagania niezależnie od wybranej metody implementacji:
- Dodaj
role="alert"iaria-live="polite"do kontenera powiadomienia. Powoduje to, że czytniki ekranu ogłaszają treść powiadomienia, gdy się pojawi. - Upewnij się, że kontrast kolorów między tekstem powiadomienia a tłem spełnia minimalny współczynnik 4,5:1 dla normalnego tekstu (WCAG AA). Użyj narzędzia takiego jak WebAIM’s Contrast Checker, aby to zweryfikować.
- Przycisk odrzucenia musi być dostępny z klawiatury i obsługiwany za pomocą klawiszy Enter i Spacja. Natywny element
<button>obsługuje to automatycznie — nie używaj<div>ani<span>jako celu kliknięcia. - Nie polegaj wyłącznie na kolorze do przekazywania pilności powiadomienia. Używaj jawnego tekstu (np. „Ważne:” lub „Uwaga:”) jako prefiksu.
Implikacje SEO ogólnoserwisowych powiadomień
Stałe lub przyklejone powiadomienie renderowane w HTML każdej strony jest indeksowane przez Googlebot jako część treści strony. Miej na uwadze następujące kwestie:
- Unikaj tekstu powiadomienia nasyconego słowami kluczowymi. Google może interpretować powtarzający się identyczny tekst na tysiącach stron jako treść szablonową niskiej jakości.
- Używaj
aria-hidden="true"w przypadku czysto dekoracyjnych powiadomień (np. baner dotyczący plików cookie, który nie ma wartości informacyjnej), aby zapobiec uwzględnianiu tekstu w obliczeniach SEO na stronie. - Wpływ CLS: Powiadomienie ładujące się po pierwszym renderowaniu i przesuwające treść w dół wygeneruje wynik CLS. Złagodź to, rezerwując miejsce dla powiadomienia w CSS za pomocą
min-heightna body lub renderując powiadomienie po stronie serwera, aby było obecne w początkowym ładunku HTML. - Dane strukturalne: Jeśli Twoje powiadomienie ogłasza wydarzenie lub promocję, rozważ dodanie znaczników schematu
EventlubOfferdo strony zamiast polegania wyłącznie na tekście banera dla widoczności w wyszukiwarkach.
Praktyczna macierz decyzyjna
Użyj tej listy kontrolnej, aby wybrać właściwą metodę dla swojej konkretnej sytuacji:
- Potrzebujesz powiadomienia działającego w ciągu 10 minut bez kodowania: Użyj wtyczki (Metoda 1). Zainstaluj WPFront Notification Bar, skonfiguruj ją, wyczyść pamięć podręczną.
- Twój motyw ma wbudowany pasek ogłoszeń i nie potrzebujesz niestandardowej logiki: Użyj Kreatora motywów (Metoda 2). Zerowy narzut, przeżywa aktualizacje wtyczek.
- Potrzebujesz warunkowej logiki wyświetlania (rola użytkownika, typ wpisu, geo-IP, stan pliku cookie) lub maksymalnej wydajności: Użyj niestandardowego PHP/CSS/JS (Metoda 3). Hookuj do
wp_body_open, dodawaj skrypty właściwie, implementuj odrzucanie oparte na plikach cookie. - Twój zespół jest nietech niczny i zarządza witryną wizualnie: Użyj Elementor Pro Theme Builder lub Bricks (Metoda 4). Ustaw warunki wyświetlania na Cała witryna.
- Jesteś w buforowanym środowisku VPS lub serwera dedykowanego: Niezależnie od wybranej metody, skonfiguruj reguły pomijania pamięci podręcznej dla pliku cookie odrzucenia. Niewykonanie tego jest najczęstszą przyczyną zgłoszeń wsparcia związanych z powiadomieniami.
- Potrzebujesz, aby powiadomienie było zgodne z WCAG 2.1: Użyj Metody 3 (niestandardowy kod) lub Metody 1 z wtyczką obsługującą
role="alert". Ręcznie zweryfikuj współczynniki kontrastu.
Dla zespołów zarządzających WordPress na infrastrukturze, którą kontrolują — czy to plan VPS Hosting, czy Serwer dedykowany — podejście z niestandardowym kodem w połączeniu z regułami pomijania pamięci podręcznej na poziomie serwera daje najbardziej niezawodny i wydajny wynik. Dla mniejszych witryn na Hostingu współdzielonym, dobrze skonfigurowana wtyczka z obsługą czyszczenia pamięci podręcznej jest pragmatycznym wyborem.
Jeśli Twoja witryna obsługuje komunikację transakcyjną obok ogólnoserwisowych powiadomień — taką jak potwierdzenia zamówień lub e-maile promocyjne — upewnij się, że infrastruktura Hostingu poczty e-mail jest skonfigurowana z właściwymi rekordami SPF, DKIM i DMARC, aby e-maile wyzwalane przez powiadomienia nie trafiały do spamu.
FAQ
P: Czy ogólnoserwisowe powiadomienie zaszkodzi mojemu SEO lub wynikowi Core Web Vitals?
O: Może, jeśli zostanie wdrożone niedbale. Powiadomienie wstrzykiwane przez JavaScript, które ładuje się po pierwszym renderowaniu, powoduje Cumulative Layout Shift (CLS), który jest metryką Core Web Vitals. Powiadomienia renderowane po stronie serwera całkowicie unikają CLS. Utrzymuj tekst powiadomienia zwięzły i niepowtarzalny, aby uniknąć traktowania go przez Google jako treści szablonowej w całej witrynie.
P: Jak wyświetlić ogólnoserwisowe powiadomienie tylko niezalogowanym użytkownikom?
O: W niestandardowym kodzie PHP owiń dane wyjściowe powiadomienia w warunkowe sprawdzenie: if ( ! is_user_logged_in() ) { ... }. W WPFront Notification Bar użyj warunku wyświetlania „Rola użytkownika”. W Elementor Pro ustaw warunek wyświetlania wykluczający zalogowanych użytkowników. Zawsze czyść pamięć podręczną stron po zmianie tej logiki.
P: Moje powiadomienie znika po aktualizacji motywu. Co jest przyczyną?
O: Prawdopodobnie edytujesz header.php motywu nadrzędnego bezpośrednio zamiast używać motywu potomnego lub hooka functions.php. Przenieś kod powiadomienia do functions.php motywu potomnego używając hooka akcji wp_body_open. Aktualizacje motywu nigdy nie nadpiszą functions.php w motywie potomnym.
P: Czy mogę zaplanować automatyczne pojawianie się i znikanie ogólnoserwisowego powiadomienia?
O: Bezpłatne wersje większości wtyczek powiadomień nie obsługują harmonogramowania. WPFront Notification Bar Pro i WP Notification Bars Pro oferują harmonogramowanie według zakresu dat. W niestandardowym kodzie możesz wdrożyć harmonogramowanie za pomocą prostego porównania dat PHP: sprawdź current_time('timestamp') względem znaczników czasu początku i końca przed wyświetleniem HTML powiadomienia.
P: Dlaczego moje ogólnoserwisowe powiadomienie nie wyświetla się na buforowanych stronach?
O: Pełne buforowanie stron przechowuje migawkę HTML strony z momentu pierwszego żądania. Jeśli pamięć podręczna została zbudowana przed dodaniem powiadomienia, odwiedzający otrzymują stary buforowany HTML. Wyczyść całą pamięć podręczną stron natychmiast po opublikowaniu nowego powiadomienia. Jeśli używasz pliku cookie odrzucenia, skonfiguruj wtyczkę pamięci podręcznej lub serwer tak, aby pomijał buforowanie dla żądań zawierających plik cookie odrzucenia, aby powracający odwiedzający nie widzieli błysku powiadomienia przed ukryciem go przez JavaScript.
