Custom fields jak tego używać?
-
Witam,
Mam pytanie jak używać custom fields?
Naczytałem się poradników w necie ale bez skutecznie:(wiem jak to stworzyć ale jak to wykorzystać?
wszędzie piszą żeby wstawic „get_post_meta();”
Ale to nic nie daje:(
próbowałem jakieś get_post_meta(zazwa_pola); ale też nic to nie dało.Jak by ktoś mógł objaśnić jak to umieścić w poście:(
-
Jak by ktoś mógł objaśnić jak to umieścić w poście:(
Custom Fields – po polsku też nazywane – dodatkowe pola użytkowników.
Stwierdzenie (pytanie), że umieszcza się to w poście jest trochę nie precyzyjne.
Są to te pola, które masz pod edytorem WYSiWYG wpisu lub zależy jak sobie je ustawisz, gdyż są przemieszczalne (drag & drop).
Nie są one więc bezpośrednio związane z treścią tam dodawaną czyli
the_content()a raczej przypisane są do danego posta i mogą być używane wielokrotnie a stronie.Jak je możesz użyć i do czego Ci to potrzebne?
Cytuję: „Własne pola mogą zostać użyte w celu dodania do wpisów metadanych, które możesz później wykorzystać w swoim motywie.”
Żeby wyświetlić je na stronie wystarczy, że użyjesz tej funkcji:
<?php the_meta(); ?>WordPress zajmie się już resztą czyli css i html’em.
Żeby funkcja zadziałała (czyli żeby zwróciła meta-dane) musi być umieszczona w pętli.
get_post_meta();natomiast przyda sie, gdy chcesz pobrać wybrane przez Ciebie pola. To lepsze rozwiązanie jeżeli masz ich więcej.get_post_meta($post_id, $key, $single);– to ogólny zarys działania funkcji.$post_id– to oczywiście ID posta, które pobierasz za pomocąget_the_ID(). Zauważ, że wcale nie musi ono dotyczyć danego wpisu.Przykładowo: jeżeli użyjesz funkcji w pętli
get_the_ID()dostaniesz pole użytkownika dla danego posta.$keyto po prostu nazwa danego pola. Może być ona dowolna, ale też unikalna.$singlepowinna byś ustawiona na true jeżeli chcesz pobrać tylko jedną wartość.Gotowa zatem funkcja powinna wyglądać tak:
<?php echo get_post_meta( get_the_ID(), 'video-link-2', true ); ?>A jak w ogóle dodać takie pole i wartość?
Jak zapewne zauważyłeś video-link-2 to $key czyli nazwa. Gdy dodajesz własne pole, możesz wybrać dla niego nazwę z rozwijanej listy bądź wprowadzić nową a w polu Wartość dodać sobie jakiś tekst, ciąg znaków, link itd.
Wielkie dzięki za obszerne objaśnienie:)
Sporo zrozumiałem ale jeszcze mam problem powiem dokładnie o co mi chodzi.Używam generatora szablonu do postów który pod każdym postem generuje dodatkowe informacje (żebym nie musiał tego pisać w każdym poście) i chciałbym zrobić tak aby podać w polu np numer telefonu a szablon do każdego posta pobrał z niego wartość i wyświetlił poprawny numer dla danego posta.
i tu się pojawiają problemy bo nie mogę tego zrobić ale… zauważyłem że po wpisaniu tekstu <?php the_meta(); ?> i zaktualizowaniu szablonu tekst zmiania się na <!–?php the_meta(); ?–> czyli wordpress chyba psuje kod:( co może być przyczyną?
ps. W największym skrócie idea jest taka aby wchodzac w dany post szablon pobrał z tego pola numer telefonu i wyświetlił go w odpowiednim miejscu.
Żeby wyświetlić pole z ACF trzeba użyć kodu:
[acf field="nazwa_pola"]
nazwa_pola to np. numer_telefonu, lub inna nazwa zdefiniowana w ACF.Jeśli używasz wtyczki:
http://wpnet.pl/blog/wtyczki/wtyczka-wpnet-pl-templates/
trzeba w treści szablonu wpisać np.:Telefon: [acf field=”numer_telefonu”]
udało mi sie to zroić tą metodą ale jak to zrobić bez korzystania z Advanced Custom Fields i[acf field=”nazwa_pola”] poprostu z woordpressa chciałbym to umieć zrobić bo w tej chwili wydaje mi się że niepodrzebnie instaluję dodatkową wtyczkę:(
Asz.. kodu php nie wklejasz w edytor wizualny.
Funkcja:
<?php the_meta(); ?>to funkcja php, która ma znaleźć się w petli czyli, w którymś z plikówindex.php, page.php post.phpitd.
Poczytaj więc może najpierw to:
Jak uzywać pól użytkowników.
https://codex.wordpress.org/Custom_FieldsPetla:
https://codex.wordpress.org/The_Loop
I jeszcze to, bo porządek musi być:
Jeśli zmiany wprowadzimy w kodzie motywu to w razie potrzeby trudno będzie zmienić motyw na inny. Dzięki użyciu wtyczki jesteśmy pod tym względem niezależni.
ok dzięki wam za odpowiedzi 🙂
udało mi się zrobić to co chciałem 🙂Postudiuje sobie przy wolnej chwili materiały które mi podesłałeś 🙂
Temat ‘Custom fields jak tego używać?’ jest zamknięty na nowe odpowiedzi.