Tym razem dość krótka porada, ale i taka jest dobra, szczególnie zważywszy jak dawno nic tu nie było doradzane ;)
Jak wiemy standardowo WordPress w Kokpicie pokazuje przynajmniej dwa pola: na tytuł wpisu i na jego treść. W polu tytułu znajduje się tak zwany placeholder, czyli podpowiedź co właściciel strony powinien tam wpisać. W polskiej wersji WordPressa podpowiedź ta brzmi „Wprowadź tytuł w tym miejscu”:
Jest to dość oczywista wskazówka. Czasem jednak – szczególnie gdy tworzymy bardziej rozbudowaną stronę na zlecenie – chcielibyśmy w tym miejscu osobie dodającej treść podpowiedzieć coś innego. Co więcej: nie zawsze tytuł musi być tytułem. Poprzednie zdanie brzmi dziwnie, więc już wyjaśniam.
Załóżmy, że tworzymy stronę dla firmy produkującej samochody. Firma taka będzie na swej stronie miała między innymi katalog modeli. W tym celu do WordPressa dodamy własny typ treści o nazwie 'samochody’ (jak się dodaje Custom Post Types nie będę teraz jednak tłumaczył) i pole tytułu chcielibyśmy wykorzystać jako miejsce, gdzie producent będzie wprowadzał nazwę marki modelu. Podpowiedź „Wprowadź tytuł w tym miejscu” jest co najmniej nieintuicyjna w takim wypadku. O wiele lepiej aby brzmiała na przykład „Wpisz w tym miejscu markę i model samochodu”, prawda?
Jak to zrobić?
Nie jest to skomplikowane, wystarczy, że do pliku functions.php tworzonej skórki dodasz ten krótki fragment kodu:
<? php function zmien_tytul($title){ if (get_post_type() == 'samochody') { $title = 'Wpisz w tym miejscu markę i model samochodu'; } return $title; } add_filter( 'enter_title_here', 'zmien_tytul' );
Krótkie i proste, prawda? Tak to będzie wyglądać po zmianach:
A bardziej dociekliwym już wyjaśniam co powyżej się wydarzyło. Jak to często robię, zaczynamy od ostatniej linijki.
W owej ostatniej linijce uruchomiliśmy WordPressowy filtr, czyli mechanizm do zmieniania kodu HTML, jaki trafia do przeglądarki. Zastosowany akurat tutaj zmienia właśnie placeholder w tytule i w celu tej zmiany uruchamia funkcję zmien_tytul(). Ta z kolej przyjmuje jeden argument – ów tytuł i oczekuje się, że na końcu wykonania zwróci tytuł (zmieniony lub nie).
W bloku instrukcji if testujemy czy edytowany wpis należy do typu, który nas interesuje. Jeśli należy, podajemy nową wartość ciągu $title. Bez tego bloku, tytuł podpowiedź tytułu zmieniła by się w przypadku edycji każdego typu wpisu, także wbudowanych typów wpis blogowy oraz strona.
Oczywiście jeśli mamy zarejestrowanych więcej typów wpisów, możemy dodać więcej instrukcji if i w ten sposób dla każdego typu nadać inną podpowiedź tytułu.
Komentarze
2 odpowiedzi na „Zmieniamy podpowiedź w tytule wpisu”
A tego przypadkiem nie da się łatwo zmienić przy samym definiowaniu CPT?
wlasnie jeszcze raz przejrzalem http://codex.wordpress.org/Function_Reference/register_post_type i nie widze :)