Jak programowo utworzyć niestandardowe pole WordPress?

Opublikowany: 2022-01-20

Czy chcesz programowo utworzyć niestandardowe pole WordPress ? Jeśli tak, mamy dla Ciebie idealny przewodnik z kilkoma dodatkowymi opcjami.

Istnieje wiele powodów, dla których WordPress jest najpopularniejszym CMS na świecie. Ale jednym z najistotniejszych jest bycie wysoce konfigurowalnym. Możesz dostosować wiele elementów witryny WordPress, z których jednymi są również pola niestandardowe. WordPress ma dla nich tak wiele dodatkowych funkcji, które można dostosowywać, że możesz nawet programowo dodać niestandardowe pola w swojej witrynie.

Co to są pola niestandardowe?

Do posta lub strony dołączone jest pole niestandardowe, które przechowuje dodatkowe informacje , które można wykorzystać w witrynie internetowej. Może być również powiązany z dowolnym rodzajem postu. Może więc zbierać informacje związane z produktami, komentarzami, a nawet niestandardowymi typami postów.

Są one przechowywane w bazie danych Twojej witryny WordPress pod tabelą wp_postmeta . Zawiera parametry meta_id, post_id, meta_key i meta_value.

baza danych wordpress tworzy niestandardowe pola programowo

Co więcej, możesz również przechowywać dowolne dane w polu niestandardowym. Mogą być nawet używane przez użytkowników frontendu i backendu, a także przez inne skrypty PHP.

Po co tworzyć niestandardowe pole w WordPressie?

Pola niestandardowe mogą służyć do osiągnięcia szerokiego zakresu wymagań. Kiedy potrzebujesz dodać jakieś dodatkowe informacje związane z postem, niestandardowe pole może być bardzo przydatne.

Jednak pola niestandardowe są najczęściej używane przez programistów do dodawania nowych funkcji do swoich witryn internetowych. Jedną z jego najbardziej użytecznych aplikacji jest używanie ich w interfejsie użytkownika, dzięki czemu użytkownicy mogą wypełniać formularze .

Ale oto kilka przykładów, w których można użyć pola niestandardowego:

  • Dołącz „nastrój” do postów, w których chcesz ujawnić, jak się czułeś, gdy go pisałeś.
  • Poinformuj użytkowników, czy post jest sugerowany dla określonego przedziału wiekowego.
  • Przechowuj czas potrzebny na przeczytanie posta.
  • Oceń produkt lub post.
  • Dane referencyjne, które uruchomią jakiś skrypt, gdy są obecne.

Poza tym motywy i wtyczki zazwyczaj używają niestandardowych pól do przypisywania specjalnych funkcji do określonych postów lub stron. Podobnie, powszechną praktyką jest używanie niestandardowych pól w interfejsach użytkownika , zarówno w interfejsie, jak i zapleczu.

Teraz, gdy już znasz znaczenie pól niestandardowych w WordPressie, zobaczmy, jak możemy je dodać.

Jak dodać niestandardowe pola w WordPressie?

Domyślnie możesz dodać niestandardowe pole do dowolnego posta podczas edytowania go w edytorze. Wszystko, co musisz zrobić, to włączyć ją na karcie Opcje strony i przewinąć w dół, aby znaleźć pole niestandardowego pola.

Po prostu kliknij „Dodaj pole niestandardowe” i wprowadź nazwę oraz wartość, aby ręcznie utworzyć pole niestandardowe.

Ale jeśli tu jesteś, z pewnością szukasz sposobu na programowe utworzenie niestandardowego pola WordPress . Więc chodźmy dalej i zanurzmy się w to.

Jak programowo utworzyć niestandardowe pole WordPress?

Możesz łatwo programowo utworzyć niestandardowe pole w WordPressie, jeśli masz podstawową wiedzę techniczną w zakresie programowania.

Ale zanim zaczniemy, upewnij się, że wykonałeś kopię zapasową swojej witryny i programowo utworzyłeś motyw potomny lub użyj jednej z wtyczek motywu potomnego. Będziemy modyfikować delikatne pliki Twojej witryny, a te zmiany mogą również zostać usunięte, gdy zaktualizujesz motyw WordPress. Jeśli jednak używasz motywu podrzędnego, dostosowania w tych plikach nie zostaną zmienione nawet po zaktualizowaniu motywu WordPress.

Jeśli nie czujesz się komfortowo z samodzielną zmianą plików motywów, możesz również użyć wtyczek, takich jak Code Snippets. Niemniej jednak będziemy używać motywu potomnego w tym samouczku, ponieważ jest to dla nas łatwiejsze.

1. Uzyskaj dostęp do pliku motywu functions.php

Po utworzeniu motywu podrzędnego możesz rozpocząć dodawanie fragmentów kodu w pliku motywu function.php, aby utworzyć pola niestandardowe. Po prostu przejdź do Wygląd > Edytor motywów i otwórz plik functions.php z pulpitu WordPress. Następnie dodaj fragmenty kodu na dole tego edytora i zaktualizuj plik .

edytor motywów wordpress tworzy programowo niestandardowe pola

W tym samouczku użyliśmy motywu Divi. Ale edytor motywów może wyglądać inaczej w Twojej witrynie w zależności od używanego motywu.

2. Dodaj fragmenty kodu do edytora motywów

Będziemy używać funkcji add_post_meta() . Przyjmuje trzy parametry: id postu lub strony, nazwę pola niestandardowego i jego wartość. Czwartego opcjonalnego parametru można użyć do sprawdzenia, czy pole niestandardowe już istnieje.

Tak więc dodanie niestandardowego pola jest tak proste, jak dodanie następującej linii do pliku function.php motywu potomnego.

 add_post_meta(460, "niestandardowa_nazwa_pola", "wartość", prawda);

Spowoduje to dodanie niestandardowego pola do posta o identyfikatorze 460.

Nazwaliśmy pole niestandardowe po prostu „custom_field_name” dla tego demo. Ale możesz również przypisać ciąg jako wartość (wartość) i ustawić opcjonalny parametr na true, aby utworzyć go tylko wtedy, gdy jeszcze nie istnieje.

Oczywiście jest to najprostszy stan skryptu, aby dodać niestandardowe pole do konkretnego posta. W ogóle nie jest wydajny, ponieważ będzie działał przy każdym załadowaniu strony, jednocześnie sprawdzając, czy niestandardowe pole istnieje bezużytecznie.

Na szczęście możemy go znacznie ulepszyć, aby osiągnąć akceptowalne rozwiązanie. W tym przypadku bardzo przydatny będzie hak publish_post() , ponieważ jest wyzwalany tylko wtedy, gdy post jest publikowany .

 add_action('publish_post', 'add_custom_field_automatically');

funkcja add_custom_field_automatically($post_ID) {

jeśli (! wp_is_post_revision ($post_ID)) {

add_post_meta($post_ID, 'meta_field', '55',prawda);
}
}

Ponieważ używamy zmiennej globalnej $post_ID , dotyczy to wszystkich nowo opublikowanych postów .

Zaktualizuj pole niestandardowe w WordPress

Gdy programowo tworzysz niestandardowe pole w WordPress, możesz je również zaktualizować, jeśli chcesz, za pomocą podobnego fragmentu kodu.

Aby zaktualizować niestandardowe pole, można użyć funkcji update_post_meta() . Użyjemy również tego samego haka, co w poprzednim skrypcie, ponieważ działa on również podczas aktualizacji posta. Po prostu dodaj następujący fragment kodu do pliku functions.php swojej witryny.

 add_action('publish_post', 'update_custom_field_automatically');

funkcja update_custom_field_automatically($post_ID) {

jeśli (! wp_is_post_revision ($post_ID)) {

update_post_meta($post_ID, 'meta_field', 20);

}

}

Spowoduje to zmianę wartości wcześniej utworzonego pola niestandardowego z 55 na 20.

update_post_meta() działa również jako funkcja add_post_meta() . Może utworzyć nowe pole niestandardowe, jeśli ono również nie istnieje.

Usuń niestandardowe pola w WordPress

Korzystanie z fragmentów kodu nie ogranicza się tylko do tworzenia i aktualizowania niestandardowych pól w WordPressie. Po programowym utworzeniu niestandardowego pola WordPress mogą wystąpić sytuacje, w których również będziesz chciał je usunąć.

Funkcja, która pozwoli nam usunąć wszystkie niestandardowe pola o podanej nazwie (kluczu) to delete_post_meta_by_key(”meta_field”); Jako unikalny parametr przyjmuje tylko nazwę pola niestandardowego.

Jak już mówiliśmy, prawidłowym sposobem na to jest użycie haka. Tym razem użyjemy zaczepu init() , który jest najczęściej używany do inicjowania wtyczek i motywów. Ponownie dodaj następujące fragmenty do pliku functions.php.

 add_action('init', 'remove_custom_field_automatically');

function remove_custom_field_automatically() {

delete_post_meta_by_key( 'meta_field' );

}

Aby usunąć niestandardowe pola z określonych postów, możesz użyć funkcji delete_post_meta() . Można go również użyć, jeśli do pola niestandardowego jest przypisana konkretna wartość.

Ten działa w podobny sposób w porównaniu z poprzednim fragmentem. Zapewnia jednak większą elastyczność w kierowaniu usuwania określonych pól niestandardowych .

 add_action('publish_post', 'delete_custom_field_automatically');

funkcja delete_custom_field_automatically($post_ID) {

jeśli (! wp_is_post_revision ($post_ID)) {

delete_post_meta($post_ID, 'meta_field');

}

}

Ten skrypt usunie niestandardowe pole o nazwie „custom_field” bieżącego posta, które jest podane przez zmienną $post_ID .

Możesz również usunąć pole niestandardowe tylko wtedy, gdy jest do niego dołączona konkretna wartość. Po prostu dodaj go jako trzeci parametr.

delete_post_meta($post_ID, 'meta_field','20');

Otóż ​​to! Możesz teraz programowo utworzyć, zaktualizować lub usunąć niestandardowe pole w WordPressie. Po prostu zmodyfikuj te fragmenty zgodnie z Twoją witryną, a będziesz mógł je jeszcze bardziej modyfikować.

Wniosek

To jest nasz samouczek dotyczący programowego tworzenia niestandardowego pola w WordPressie . Mogą być bardzo przydatne, jeśli chcesz udostępnić użytkownikom dodatkowe informacje na swojej stronie.

Podsumowując, pokazaliśmy Ci fragmenty kodu do tworzenia niestandardowych pól w WordPress. Podobnie udostępniliśmy również kilka dodatkowych fragmentów do aktualizacji i usunięcia pól niestandardowych. Mogą się przydać w określonych okolicznościach, w zależności od potrzeb Twojej witryny.

Pola niestandardowe są jedną z najlepszych funkcji WordPressa i są szeroko stosowane również w WooCommerce. Mamy nawet przewodniki dotyczące dodawania niestandardowych pól w kasie WooCommerce i zmiany kolejności pól kasy WooCommerce. Jeśli chcesz dowiedzieć się więcej o innych dostosowaniach w WordPress i WooCommerce, zapoznaj się z następującymi postami:

  • Jak utworzyć niestandardowy typ posta WordPress?
  • Dostosuj stronę logowania WordPress
  • Jak dostosować produkty powiązane z WooCommerce

Czy możesz teraz programowo tworzyć niestandardowe pola w WordPressie? Czy stworzyłeś je wcześniej? Daj nam znać w komentarzach.