Создавайте пользовательские типы записей WordPress с помощью собственного плагина!

Опубликовано: 2021-01-18

Пользовательские типы записей WordPress невероятно полезны. Если вы не уверены, что это такое, ознакомьтесь с нашей статьей «Создание пользовательских типов записей WordPress с помощью плагина» для получения более подробной информации. В серии статей мы рассмотрели различные способы создания пользовательского типа записи. Это включает в себя использование плагина (согласно только что упомянутой статье) вплоть до кодирования пользовательского типа сообщения с нуля.

Как и в большинстве вещей, связанных с WordPress, если у вас есть технические возможности кодировать функцию, то, скорее всего, вы сможете добиться практически всего, не будучи связанным ограничениями, налагаемыми плагинами, которые призваны помочь вам достичь выбранной цели. Однако, возможно, максимальный контроль и удобство использования достигается за счет использования пользовательского плагина, который вы сами создали. В этой статье мы собираемся завершить нашу мини-серию о создании пользовательских типов сообщений, рассмотрев, как создать свой собственный плагин Custom Post Type.

Итак, запустите текстовый редактор и приступим!

Создайте свой собственный плагин типа записи

Если вы никогда не создавали свой собственный плагин WordPress, то, прежде чем продолжить изучение этого руководства, возможно, стоит ознакомиться с нашей статьей «Как создать свой первый плагин WordPress». Пошаговое руководство».

Плагины — идеальный способ расширить функциональность веб-сайтов WordPress. Возможность как использовать готовые плагины, так и создавать свои собственные для расширения функциональности веб-сайта WordPress — одна из многих причин, почему WordPress является такой популярной CMS. Добавление функциональности путем создания собственного плагина (или использования стороннего плагина) обычно дает возможность переключать темы и вносить другие важные обновления на наш сайт без потери функциональности соответствующего плагина(ов).

Из-за этого имеет смысл разрабатывать плагины таким образом, чтобы отделить функции от дизайна веб-сайта — другими словами, если плагин предназначен для выполнения основной функции, он работает лучше всего, если он также не включает функциональность, специфичную для темы. Это дает вам максимальную гибкость, поскольку этот плагин теоретически может быть развернут на любом веб-сайте WordPress.

Имея это в виду, плагин, который мы создадим для нашего пользовательского типа сообщений, является простым, но полным плагином, который будет регистрировать наш пользовательский тип сообщений «рецепты» без необходимости конечного пользователя кодировать эту функцию непосредственно на своем веб-сайте.

Шаг первый: зарегистрируйте плагин

Первый шаг — создать плагин, который мы назовем «Мой пользовательский тип записи», и зарегистрировать его на нашем веб-сайте.

Для этого создайте папку плагина в папке /wp-content/plugins и назовите ее my-custom-post-type . Затем создайте его основной файл внутри этой папки, который будет содержать функции нашего плагина и регистрационный код. Мы предлагаем вам дать файлу такое же имя, my-custom-post-type.php . Итак, в вашем FTP-клиенте это должно выглядеть так.

плагин пользовательского типа поста

Минимальный обязательный код, который вы должны написать здесь, таков:

 <?php /** Plugin Name: My CPT plugin **/

Этот комментарий PHP сообщает WordPress о существовании плагина и имени плагина. Строка «Мой плагин CPT» — это имя, которое вы увидите сейчас в списке плагинов вашей административной области, если вы обновите его.

Дайте функциональность плагину пользовательского типа записи

Теперь мы назвали и зарегистрировали наш плагин, который нам нужно взломать и добавить к нему некоторые функции.

Большая часть кода, который вам понадобится, была ранее написана в нашей статье «Создание пользовательских типов записей WordPress вручную». Вы можете проверить это, чтобы узнать, как работает этот код, или просто скопировать код ниже.

Примечание. Если вы ранее следовали нашему руководству, вы добавили код в файл functions.php . Мы не хотим дублировать, имея наш код как в файле functions.php , так и в нашем плагине, поэтому лучше удалить его из нашего файла functions.php, прежде чем продолжить.

Мы вставили тот же код из файла functions.php в основной php-файл нашего плагина. Ваш файл my-custom-post-type.php теперь должен выглядеть так:

 <?php /** Plugin Name: My CPT plugin **/ //// Create recipes CPT function recipes_post_type() { register_post_type( 'recipes', array( 'labels' => array( 'name' => __( 'Recipes' ), 'singular_name' => __( 'Recipe' ) ), 'public' => true, 'show_in_rest' => true, 'supports' => array('title', 'editor', 'thumbnail'), 'has_archive' => true, 'rewrite' => array( 'slug' => 'my-home-recipes' ), 'menu_position' => 5, 'menu_icon' => 'dashicons-food', // 'taxonomies' => array('cuisines', 'post_tag') // this is IMPORTANT ) ); } add_action( 'init', 'recipes_post_type' ); //// Add cuisines taxonomy function create_recipes_taxonomy() { register_taxonomy('cuisines','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Cuisines', 'taxonomy general name' ), 'singular_name' => _x( 'Cuisine', 'taxonomy singular name' ), 'menu_name' => __( 'Cuisines' ), 'all_items' => __( 'All Cuisines' ), 'edit_item' => __( 'Edit Cuisine' ), 'update_item' => __( 'Update Cuisine' ), 'add_new_item' => __( 'Add Cuisine' ), 'new_item_name' => __( 'New Cuisine' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); register_taxonomy('ingredients','recipes',array( 'hierarchical' => false, 'labels' => array( 'name' => _x( 'Ingredients', 'taxonomy general name' ), 'singular_name' => _x( 'Ingredient', 'taxonomy singular name' ), 'menu_name' => __( 'Ingredients' ), 'all_items' => __( 'All Ingredients' ), 'edit_item' => __( 'Edit Ingredient' ), 'update_item' => __( 'Update Ingredient' ), 'add_new_item' => __( 'Add Ingredient' ), 'new_item_name' => __( 'New Ingredient' ), ), 'show_ui' => true, 'show_in_rest' => true, 'show_admin_column' => true, )); } add_action( 'init', 'create_recipes_taxonomy', 0 );

Теперь, если вы пойдете и активируете свой плагин в административной области, вы должны увидеть «Рецепты» в главном меню!

Итак, теперь у нас есть пользовательский тип сообщений «рецепты» и два сообщения «Рецепты» «Рецепт 1» и «Рецепт 2», каждому из которых присвоена таксономия «Кухня». Вот и все! Теперь вместо того, чтобы вносить изменения в код вашего файла functions.php каждый раз, когда вы хотите обновить свой пользовательский тип записи, вы можете сделать это через свой php-файл плагина, что намного лучше. Вы также имеете прямой контроль над ним от своего администратора и можете быстро и легко отключить плагин. Кроме того, это можно сохранить в виде zip-файла плагина и использовать на других сайтах WordPress.

Вместо этого используйте плагин библиотеки

Если вы хотите еще больше ускорить процесс создания собственных пользовательских сообщений, вы можете попробовать использовать плагин «Мои пользовательские функции».

Этот плагин позволяет вам вставлять код функций PHP на ваш веб-сайт без необходимости напрямую редактировать файлы через SFTP-соединение.

После установки и активации плагина в ваше меню администратора будет добавлен новый пункт меню. Просто перейдите в «Настройки > PHP Inserter» и добавьте пользовательский код для вашего пользовательского типа сообщений в предоставленный блок кода.

После ввода кода включите переключатель и сохраните изменения. Ваш код PHP будет автоматически добавлен на ваш сайт, не влияя на его производительность и не изменяя файлы вашей темы.

На том же экране администратора вы также можете найти вкладку «Использование» и вкладку «Часто задаваемые вопросы», которые действительно могут помочь вам понять, как использовать плагин (мы хорошо использовали его при тестировании!).

Дальнейшее чтение

Мы завершили нашу мини-серию о пользовательских типах записей. Если вы хотите ознакомиться с ними, то ссылки на предыдущие статьи приведены ниже:

  • Создание пользовательских типов записей WordPress с помощью плагина
  • Создание пользовательских типов записей WordPress вручную
  • Пользовательские типы записей WordPress — идем дальше

Вывод

Мы надеемся, что вам понравилась эта серия статей, и теперь вы понимаете, как обрабатываются пользовательские типы записей. Пользовательские типы записей — это потрясающие вещи, которые могут революционизировать то, как вы создаете веб-сайты WordPress, что делает их еще одной замечательной функцией WordPress!