Tworzenie niestandardowych postów w WordPress (Niestandardowe typy postów)

Spisie treści
Wielokrotnie jako programiści musimy tworzyć spersonalizowane treści lub niektóre funkcjonalności w zorganizowany sposób i rejestrować własne wartości i pola, których Wordpress domyślnie nie posiada, ważne jest również, aby były one wielokrotnego użytku.
Szukam w katalogu szablonów pliku functions.php, tutaj na przykład w szablonie Twenty dziesięć.

Wewnątrz pliku sprawdzamy, czy funkcja istnieje add_theme_support ('post-miniaturki') czyli taki, który pozwala na użycie miniaturek, jeśli nie, to dodam i też dodam zmienną na konkretny rozmiar.

W tym przypadku szablon ma już obsługę miniatur, więc po prostu dodaję swój niestandardowy rozmiar.
Oznacza to, że kiedy przypiszesz miniaturę właściwości do obrazu, zostanie on automatycznie dopasowany do 80 pikseli szerokości i 80 pikseli wysokości.
Zaczynamy tworzyć funkcjonalność do tego, lepiej odseparować kod, można by umieścić na końcu plik funkcji, ale dla uporządkowania pracy umieścimy go w katalogu Komponenty (edytuj)
gdzie utworzymy plik o nazwie real estate.php, więc mamy osobny komponent.
 _x ('Nieruchomość', 'Ogólna nazwa typu postu'), 'singular_name' => _x ('Nieruchomość', 'Ogólna nazwa typu postu'), 'add_new' => _x ('Nowa nieruchomość', 'nieruchomość posiadłość'), 'add_new_item' => __ ("Nowa nieruchomość"), 'edit_item' => __ ("Edytuj nieruchomość"), 'new_item' => __ ("Nowa nieruchomość"), 'view_item' => __ ( "Wyświetl właściwość" ), 'search_items' => __ ("Właściwość wyszukiwania"),' not_found '=> __ (' Nie znaleziono właściwości '),' not_found_in_trash '=> __ (' Brak właściwości '),' parent_item_colon '= >' '); // tworzę argumenty dla bazy danych $ inmobiliaria_args = array ('labels' => $ inmobiliaria_labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true , 'rewrite' => true, 'hierarchical' => false, 'menu_position' => null, 'capability_type' => 'post', 'supports' => array ('title', 'excerpt', 'editor', ' thumbnail'), 'menu_icon' => get_bloginfo ('template_directory').'/images/photo-album.png.webp' // 16x16 png jeśli chcesz mieć ikonę); // Zarejestruj post register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> zm13 -> 

Następnie umieszczamy go w pliku functions.php na końcu lub w sekcji dla komponentów, w tym przypadku umieszczamy go razem z innymi konfiguracjami.

Wchodzimy do naszego administratora wordpress, jeśli jest aktywny, powinniśmy zaktualizować lub zamknąć sesję i ponownie wejść, aby zaktualizować zmiany wprowadzone w pliku functions.php, który jest tym, który wywołuje komponent.
Jak widzimy, dodano nową nieruchomość, aby móc zarządzać własnymi danymi dla tego niestandardowego komponentu postu.

Stworzymy również kilka kategorii lub taksonomii, aby nasza aplikacja była pełniejsza. Na przykład typ nieruchomości, dom, mieszkanie itp. i inny dla województw.W tym celu w poniższym pliku nieruchomości dodamy następujący kod, każdy blok to kategoria i możemy stworzyć te, które chcemy.
 true, 'label' => 'Typy właściwości', 'singular_label' => 'Typ', 'rewrite' => true)); }?> var13 -> true, 'label' => 'Prowincje', 'singular_label' => 'prowincja', 'rewrite' => true)); }?> zm13 -> 

Następnie podczas aktualizacji naszego administratora wordpress możemy zobaczyć obie kategorie w menu nieruchomości.

Wymienianie własnych danych
Wpisy wordpress i strona w administratorze zawsze mają ten sam tytuł, autor i datę, w tym przypadku musimy wymienić dane składnika nieruchomości. W tym celu dostosujemy kolumny listy
 '', 'title' => 'Tytuł', 'zdjęcie' => 'Zdjęcie', 'typ' => 'Typ nieruchomości', 'prowincja' => 'Województwo', 'data' => 'Data',); zwróć kolumny $; }?> zm13 -> 

Po wskazaniu tytułów i rodzaju kolumn, które mają być wyświetlane, przystępujemy do przypisywania danych z zapytań, które będziemy realizować w bazie i przypisujemy dane do każdej kolumny, w tym przypadku przeszukujemy kategorie funkcją wordpress get_the_term_list ( ).
 Typ identyfikatora', '', ',', ''); złamać; case 'prowincja': echo get_the_term_list ($ post-> ID, 'prowincja', '', ',', ''); złamać; }} // dodaj miniaturki do kolumny add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Dodaj funkcję kolumny showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); zwróć $ cols; }?> zm13 -> 

W przypadku obrazu tworzymy funkcję wyszukiwania zdjęcia i dodawania go do custom_post_columns Jeśli chcemy, możemy również dodać go, aby był obsługiwany dla postów i stron, oprócz naszego komponentu, w przeciwnym razie usuwamy te linie.
<? // dodaj miniaturki do kolumny
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Dodaj kolumnę
funkcja showphoto ($ cols) {
$ cols ['zdjęcie'] = __ ('Miniatura');
zwróć $ cols;
}
?>
Zapisujemy plik real estate.php, w którym dokonaliśmy tych zmian i zaktualizowaliśmy stronę administratora wordpress. Przetestujemy naszą aplikację rejestrując nieruchomość, w tym celu wcześniej zarejestrujemy kategorie Rodzaje nieruchomości: Dom, Mieszkanie, Grunt itp.
Następnie zarejestrujemy niektóre prowincje Barcelona, ​​​​Madryt itp.
Następnie przechodzimy do menu Właściwości> Nowa właściwość i rejestrujemy dane jako normalny wpis wordpress, tylko my będziemy mieli kategorię i obraz lub zdjęcie do wstawienia jako wyróżniony obraz.

Pamiętaj, że obrazy będą miały rozmiar 80 x 80 pikseli dla listy właściwości, zdefiniowaliśmy to w naszym niestandardowym rozmiarze nieruchomości-kciuk, więc najlepszą rzeczą jest to, że używamy kwadratowych obrazów, aby nie były cięte, ideałem byłoby 500x500 pikseli.
Następnie podczas zapisywania zmian możemy przejść do przeglądania listy nieruchomości i zobaczymy nasze spersonalizowane kolumny, z aktywowanymi wszystkimi funkcjami wyszukiwania, filtrowania, sortowania alfabetycznego lub wyświetlania tylko niektórych prowincji itp.

Będzie to bardzo łatwe w administrowaniu i możemy również dodać więcej funkcji, jeśli musimy zmodyfikować niestandardowy typ posta lub niestandardowy typ posta. Jeśli chodzi o ponowne użycie, komponent jest optymalny, ponieważ jeśli chcemy go użyć w innym projekcie, po prostu kopiujemy niestandardowy typ posta, umieszczamy go w naszym pliku functions.php i będziemy go używać bez konieczności przeprogramowywania.
Następnie za pomocą prostego kodu możemy pokazać to na stronie głównej lub w sekcji naszej witryny, wyszukiwać według województwa lub rodzaju nieruchomości.
Możemy również rozbudować komponent, dodając więcej funkcjonalności lub uzupełniając go innymi wtyczkami, np. aby zaimplementować go w kilku językach za pomocą Qtraslator lub dodaj wiele obrazów Wiele polecanych obrazów aby mieć więcej polecanych zdjęć i stworzyć galerię zdjęć dla każdej nieruchomości.
Zmieniając niektóre linie można by wykorzystać także agencję samochodową, gdzie kategoriami były marki i modele pojazdów lub biuro podróży, gdzie mielibyśmy pakiety i destynacje, możliwości są nieskończone, wszystko zależy od potrzeb i naszej wyobraźni.
wave wave wave wave wave