Obrazek wyróżniający dla wybranej karegori w WordPress

Jak ustawić obrazek wyróżniający post w wordpess dla wybranej kategorii, np 18+. Jak to zrobić na przykładzie wtyczki „Code Snippets” i bez użycia CSS

Oczywiście! Możesz oznaczyć obrazek wyróżniający posta w WordPress jako pochodzący ze specjalnej kategorii (np. 18+) za pomocą wtyczki Code Snippets, bez użycia CSS. Poniżej znajdziesz krok po kroku instrukcję, jak to zrobić.


Krok 1: Zainstaluj i aktywuj wtyczkę Code Snippets

  1. Zaloguj się do panelu administracyjnego WordPress.
  2. Przejdź do „Wtyczki” > „Dodaj nową”.
  3. W polu wyszukiwania wpisz „Code Snippets”.
  4. Zainstaluj i aktywuj wtyczkę Code Snippets autorstwa Code Snippets Pro.

Krok 2: Przygotuj zmodyfikowany obrazek z oznaczeniem 18+

Ponieważ nie używamy CSS, potrzebujemy fizycznie zmodyfikować obrazek, aby zawierał oznaczenie „18+”.

  1. Otwórz oryginalny obrazek wyróżniający w programie graficznym (np. Photoshop, GIMP).
  2. Dodaj na obrazku oznaczenie „18+” w wybranym miejscu.
  3. Zapisz zmodyfikowany obrazek pod nową nazwą, np. „twoj-obrazek-18plus.jpg”.
  4. Prześlij ten obrazek do biblioteki mediów w WordPress.

Krok 3: Dodaj nowy fragment kodu w Code Snippets

  1. W panelu WordPress przejdź do „Snippets” > „Add New” (lub „Dodaj nowy”).
  2. W polu „Nazwa” wpisz np. „Zastąp obrazek wyróżniający dla kategorii 18+”.

Krok 4: Wprowadź kod PHP zastępujący obrazek wyróżniający

W polu edycji kodu wprowadź poniższy kod:

php

function replace_featured_image_for_adult_category( $html, $post_id, $post_thumbnail_id, $size, $attr ) {

// Sprawdź, czy post należy do kategorii ’18+’
if ( has_category( ’18+’, $post_id ) ) {
// Pobierz ID nowego obrazka z oznaczeniem 18+
$new_thumbnail_id = get_post_meta( $post_id, '_replacement_thumbnail_id’, true );

// Jeśli nie ustawiono indywidualnego obrazka, użyj domyślnego
if ( ! $new_thumbnail_id ) {
// Ustaw ID domyślnego obrazka z oznaczeniem 18+
$default_image_id = 123; // Zamień 123 na ID Twojego obrazka z oznaczeniem 18+
$new_thumbnail_id = $default_image_id;
}

// Generuj HTML dla nowego obrazka wyróżniającego
$html = wp_get_attachment_image( $new_thumbnail_id, $size, false, $attr );
}
return $html;
}
add_filter( 'post_thumbnail_html’, 'replace_featured_image_for_adult_category’, 10, 5 );

 

Ważne: W miejscu 123 wstaw ID obrazka z oznaczeniem „18+”, który przesłałeś w Kroku 2.

Krok 5: Znajdź ID obrazka z oznaczeniem 18+

  1. Przejdź do „Media” > „Biblioteka”.
  2. Znajdź obrazek z oznaczeniem „18+”.
  3. Kliknij na niego, aby otworzyć okno szczegółów.
  4. W pasku adresu przeglądarki zobaczysz URL zawierający post= i numer, np.:
    bash
    wp-admin/post.php?post=456&action=edit

    456 to ID Twojego obrazka.

  5. Zanotuj ten numer i wprowadź go do kodu w miejscu 123:

    php

    $default_image_id = 456; // ID Twojego obrazka z oznaczeniem 18+


Krok 6: Zapisz i aktywuj fragment kodu

  1. Upewnij się, że opcja „Scope” (Zakres) jest ustawiona na „Run snippet everywhere” (Uruchamiaj fragment wszędzie).
  2. Kliknij „Save Changes and Activate” (Zapisz zmiany i aktywuj).

Krok 7: Przypisz posty do kategorii ’18+’

  1. Podczas tworzenia lub edycji posta upewnij się, że jest on przypisany do kategorii „18+”.
  2. Zapisz lub zaktualizuj post.

Krok 8: Przetestuj działanie

  1. Odwiedź stronę z postem należącym do kategorii „18+”.
  2. Sprawdź, czy obrazek wyróżniający został zastąpiony obrazkiem z oznaczeniem „18+”.
  3. Upewnij się, że posty w innych kategoriach wyświetlają oryginalne obrazki wyróżniające.

Dodatkowe informacje

  • Indywidualne obrazki dla postówJeśli chcesz, aby każdy post miał unikalny obrazek z oznaczeniem „18+”, możesz ustawić dla nich indywidualne obrazki:
    1. Podczas edycji posta, przejdź do sekcji „Niższe pola” (Custom Fields). Jeśli nie widzisz tej sekcji, włącz ją w „Opcjach ekranu” u góry strony.
    2. Dodaj nowe pole:
      • Nazwa pola: _replacement_thumbnail_id
      • Wartość pola: ID obrazka z oznaczeniem „18+” dla tego konkretnego posta.
  • Zmiana nazwy kategoriiUpewnij się, że w funkcji has_category( '18+', $post_id ) używasz właściwej nazwy lub slugu kategorii. Jeśli Twoja kategoria ma inny slug, np. „treści-dla-dorosłych”, zmień kod na:
    php
    if ( has_category( 'treści-dla-dorosłych', $post_id ) ) {
  • Bez użycia CSSW tym rozwiązaniu nie używamy stylów CSS. Wszystkie zmiany są dokonywane przez zastąpienie obrazka wyróżniającego innym obrazkiem, który już zawiera oznaczenie „18+”.

Ważne uwagi

  • Kopia zapasowaPrzed wprowadzeniem zmian zawsze warto wykonać kopię zapasową strony, aby w razie potrzeby móc przywrócić poprzednią wersję.
  • Motyw potomnyPonieważ nie modyfikujemy bezpośrednio plików motywu, nie musisz tworzyć motywu potomnego. Wtyczka Code Snippets pozwala na bezpieczne dodawanie kodu.
  • Zgodność z przepisamiUpewnij się, że treści oznaczone jako „18+” są zgodne z lokalnymi przepisami prawa oraz regulaminem Twojego hostingu.

Podsumowanie

Dzięki zastosowaniu wtyczki Code Snippets i powyższemu kodowi PHP możesz zastąpić obrazek wyróżniający postów należących do określonej kategorii na inny, zawierający oznaczenie „18+”. Rozwiązanie to nie wymaga użycia CSS ani modyfikacji plików motywu, co czyni je bezpiecznym i łatwym w implementacji.

Dodaj komentarz

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