Създаване на персонализирани публикации в WordPress (Персонализирани типове публикации)

Съдържание
Много пъти като разработчици трябва да създаваме персонализирано съдържание или някаква функционалност по организиран начин и да регистрираме собствените си стойности и полета, които Wordpress няма по подразбиране, също така е важно то да се използва повторно.
Търся в директорията с шаблони за файла functions.php, например тук в шаблона Twenty ten.

Вътре във файла гледаме дали функцията съществува add_theme_support ('пост-миниатюри') който е този, който позволява използването на миниатюрни изображения, ако не е, ще го добавя, а също така ще добавя променлива за определен размер.

В този случай шаблонът вече има поддръжка за миниатюри, така че просто добавям моя персонализиран размер.
Това означава, че когато зададете свойство-палец на изображение, то автоматично ще бъде оразмерено до 80 пиксела ширина и 80 пиксела височина.
Започваме да създаваме функционалност за това, по -добре е да отделим кода, той може да бъде поставен в края на файла с функции, но за да работим по -подреден, ще го поставим в директория Компоненти (редактиране)
където ще създадем файл, наречен real estate.php, така че имаме отделния компонент.
 _x ('Недвижими имоти', 'общо име на типа на публикацията'), 'singular_name' => _x ('Недвижими имоти', 'име на един вид публикация'), 'add_new' => _x ('Нов недвижим имот', 'недвижим Estate '),' add_new_item '=> __ ("Нова собственост"),' edit_item '=> __ ("Редактиране на собственост"),' new_item '=> __ ("Нова собственост"),' view_item '=> __ ( "View Property"), 'search_items' => __ ("Search property"), 'not_found' => __ ('No property found'), 'not_found_in_trash' => __ ('No property'), 'parent_item_colon' = > ''); // Създавам аргументите за базата данни $ inmobiliaria_args = array ('labels' => $ inmobiliaria_labels, 'public' => true, 'public_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => true, 'hierarchical' => false, 'menu_position' => null, 'capability_type' => 'пост', 'поддържа' => масив ('заглавие', 'откъс', 'редактор', ' миниатюра '),' menu_icon '=> get_bloginfo (' template_directory ').' /images/photo-album.png.webp '// 16x16 png, ако искате икона); // Регистрирайте публикацията register_post_type ('inmobiliaria', $ inmobiliaria_args); ?> var13 -> 

След това го включваме във файла functions.php в края или в раздел за компонентите, в този случай го поставяме заедно с другите конфигурации.

Ще въведем нашия администратор на wordpress, в случай че е активен, трябва да актуализираме или затворим сесията и да влезем отново, за да актуализираме промените, направени във файла functions.php, който е този, който извиква компонента.
Както виждаме, беше добавен нов имот, който да може да управлява нашите собствени данни за този персонализиран компонент за публикации.

Също така ще създадем някои категории или таксономии, така че нашето приложение да е по -пълно. Например типът на имота, къща, апартамент и т.н.
 true, 'label' => 'Типове свойства', 'singular_label' => 'Тип', 'пренаписване' => true)); }?> var13 -> true, 'label' => 'Провинции', 'singular_label' => 'провинция', 'пренаписване' => true)); }?> var13 -> 

След това, когато актуализираме нашия администратор на wordpress, можем да видим и двете категории в менюто за недвижими имоти.

Изброяване на нашите собствени данни
Записите и страницата в WordPress в администратора винаги имат едно и също заглавие, автор и дата, в този случай трябва да изброим данните на компонента за недвижими имоти. За целта ще персонализираме колоните от списъка
 '', 'title' => 'Заглавие', 'снимка' => 'Снимка', 'тип' => 'Тип имот', 'провинция' => 'Провинция', 'дата' => 'Дата',); връщане на $ колони; }?> var13 -> 

След като посочим заглавията и типа на колоните, които ще се показват, пристъпваме към присвояване на данните от заявки, които ще извършим в базата данни, и присвояваме данните към всяка колона, в този случай търсим категориите с функцията wordpress get_the_term_list ().
 ID, 'тип', '', ',', ''); прекъсване; регистър 'провинция': echo get_the_term_list ($ post-> ID, 'провинция', '', ',', ''); почивка; }} // добавяне на миниатюрни изображения към колоната add_filter ('manage_posts_columns', 'showphoto', 5); add_filter ('manage_pages_columns', 'showphoto', 5); add_filter ('manage_custom_post_columns', 'showphoto', 5); // Добавяне на колонна функция showphoto ($ cols) {$ cols ['photo'] = __ ('Thumbnail'); върнете $ cols; }?> var13 -> 

В случая с изображението създаваме функция за търсене на снимката и добавяне към нея custom_post_columns Ако искаме, можем също да го добавим, за да се поддържа за публикации и страници, освен за нашия компонент, в противен случай премахваме тези редове.
<? // добавяне на миниатюрни изображения към колона
add_filter ('manage_posts_columns', 'showphoto', 5);
add_filter ('manage_pages_columns', 'showphoto', 5);
add_filter ('manage_custom_post_columns', 'showphoto', 5);
// Добавяне на колоната
функция showphoto ($ cols) {
$ cols ['photo'] = __ ('Thumbnail');
върнете $ cols;
}
?>
Запазваме файла real estate.php, където направихме тези промени и актуализирахме страницата на администратора на wordpress. Ще тестваме нашето приложение, като регистрираме имот, за това предварително ще регистрираме типовете категории имоти: къща, апартамент, земя и т.н.
След това ще регистрираме някои провинции Барселона, Мадрид и т.н.
След това отиваме в менюто Имоти> Нов имот и регистрираме данните като нормален запис в wordpress, само ние ще имаме категорията и изображение или снимка, които да вмъкнем като представено изображение.

Не забравяйте, че изображенията ще бъдат с размер 80 x 80 пиксела за списъка със свойства, ние бяхме дефинирали това в нашия персонализиран размер палец на недвижими имоти, така че най -хубавото е, че използваме квадратни изображения, така че да не се изрязват, идеалният вариант би бил 500x500 пиксела.
След това, когато запазваме промените, можем да отидем да прегледаме списъка със свойства и ще видим нашите персонализирани колони, с всички активирани функции, за да търсите, филтрирате, сортирате по азбучен ред или да виждате само някаква област и т.н.

Това ще бъде много лесно за администриране и също така можем да добавим още функционалности, ако трябва да променим персонализирания тип публикация или персонализиран тип публикация. Що се отнася до повторната употреба, компонентът е оптимален, тъй като, ако искаме да го използваме в друг проект, просто копираме персонализирания тип публикация, включваме го във файла functions.php и ще го имаме на разположение за използване, без да се налага да го препрограмираме.
След това с прост код можем да покажем това на началната страница или в раздел на нашия уебсайт, да търсим по провинция или по тип имот.
Можем също така да разширим компонента, като добавим още функционалности или го допълним с други плъгини, например да го внедрим на няколко езика с Qtraslator или добавете няколко изображения Множество представени изображения за да имате повече представени изображения и да създадете фотогалерия за всеки имот.
Промяната на някои линии може да се използва и за агенция за превозни средства, където категориите са марки и модели превозни средства или за туристическа агенция, където бихме имали пакети и дестинации, възможностите са безкрайни, всичко зависи от нуждите и въображението ни.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave