Wsparcie » Używanie i konfiguracja WordPressa » Custom fields jak tego używać?

  • Rozwiązano Rayu85

    (@rayu85)


    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:(

Viewing 7 replies - 1 through 7 (of 7 total)
  • 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.

    $key to po prostu nazwa danego pola. Może być ona dowolna, ale też unikalna.

    $single powinna 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.

    Thread Starter Rayu85

    (@rayu85)

    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”]

    Thread Starter Rayu85

    (@rayu85)

    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ów index.php, page.php post.php itd.
    Poczytaj więc może najpierw to:
    Jak uzywać pól użytkowników.
    https://codex.wordpress.org/Custom_Fields

    Petla:

    https://codex.wordpress.org/The_Loop

    I jeszcze to, bo porządek musi być:

    Home

    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.

    Thread Starter Rayu85

    (@rayu85)

    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ś 🙂

Viewing 7 replies - 1 through 7 (of 7 total)
  • Temat ‘Custom fields jak tego używać?’ jest zamknięty na nowe odpowiedzi.