Close
k

Projects

Contact

News

Let's connect

Создание Plugin для WordPress часть 3. Создание Single post шаблона и вывод полей Carbon Fields

В этой статье мы добавим вывод нашего автомобиля и всех полей, которые мы создали в прошлой статье.

Подключение скриптов

Начнем с того-что создадим корне нашего проекта папку assets и скопируем туда все файлы, которые пришли нам с версткой

Теперь нужно добавить в файл Main.php в функцию init хук для подключения скриптов и стилей

add_action( 'wp_enqueue_scripts', [ $this, 'add_scripts' ] );

И создаем эту функцию

public function add_scripts(): void {
   wp_enqueue_script( 'ecl_build', ECL_URL . '/assets/js/build.js', [ 'jquery' ], ECL_VERSION, true );
   wp_enqueue_script( 'html5shiv', '//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js', [], '3.7.0', false );
   wp_enqueue_script( 'respond', '//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js', [], '1.4.2', false );

   wp_script_add_data( 'html5shiv', 'conditional', 'lt IE 9' );
   wp_script_add_data( 'respond', 'conditional', 'lt IE 9' );

   wp_enqueue_style( 'ecl_main', ECL_URL . '/assets/css/main.css', '', ECL_VERSION );

   $global_style = ':root{ --color-one:#f26b36; --color-two:#be542a;}';
   wp_add_inline_style( 'ecl_main', $global_style );
}

wp_enqueue_script – Подключает скрипт

wp_script_add_data – Добавляет условия при подключении скрипта  

wp_enqueue_style – Подключает стили

wp_add_inline_style – Выводит в шапки стили инлайн

Создание фильтра переопределения шаблона вывода

Переходим к файлу AddCPT.php добавляем фильтр в функцию init

add_filter( 'template_include', [ $this, 'add_single_car_page' ] );

Создаем функцию и добавляем условия переопределение шаблона

/**
 * Add single car template.
 *
 * @param string
$template
 
*
 * @return string
 */
public function add_single_car_page( string $template ): string {

   if ( is_singular( 'cars' ) && ! locate_template( [ 'single-cars.php' ] ) ) {
      return ECL_PATH . '/template/single-cars.php';
   }

   return $template;
}

В условии мы проверяем является это страница автомобиля и существует шаблон single-cars.php  в используемой теме.

Если шаблона нет то он будет выводится с папки template  с корневой папки нашего плагина

is_singular – Проверяет просматривается ли страница записи

locate_template — Находит наиболее подходящий серверный путь к указанному файлу шаблона. При поиске учитывается дочерняя тема.

Подключение верстки

Создаем папку template в корне нашего плагина и в ней файл single-cars.php

Копируем туда наше верстку ее можем найти по ссылке: https://drive.google.com/file/d/1dF94sQjEREAOG3jLGMr3OqX4wSCwMc6n/view?usp=share_link

Полный код файла по ссылке https://gitlab.com/AlsconWeb/ease-car-listing/-/blob/16d71d9a5677e4944619b3069aac5f8ffde98320/template/single-cars.php

carbon_get_the_post_meta(“Имя поля которое мы хотим получить”) – Используется в стандартном цикле

Если мы хотим получить это поле в не цикла тогда нужно использовать

carbon_get_post_meta(“ИД поста к которому привязано поле”, “Имя поля которое мы хотим получить”)

numfmt_create  — Создаёт средство форматирования чисел

Post a Comment