Как создать страницу с кастомной вёрсткой для списка акций?
Есть сайт на Вордпрессе с Вукоммерсом. И там должна быть отдельная страница "Акции" со списком акций, типа "каждому покупателю ххх - ууу в подарок!", "приведи друга - получишь скидку!" и тому подобные. То есть, это не просто скидки в цене, а именно какие-то предложения. У каждой акции должна быть миниатюра, заголовок, текст и сроки действия (от и до).
Но как их вывести на страницу? Пока что сделал для этой страницы отдельный шаблон и все изменения в акциях идут через её редактирование в админке. То есть, там в html-виде вся разметка. Но это очевидно неудобно для менеджера, который будет их редактировать.
Посоветуйте пожалуйста плагин, который бы позволял создать ткую страницу, или способ организации шаблона, при котором менеджер может редактировать только количество акции, их миниатюры и прочий контент, а вёрстка намертво зашита в шаблоне.
Ответы (1 шт):
В Wordpress есть возможность создавать свои типы записей.
В вашем случае нужно создать тип записей "Акции".
Например, так (добавьте код в functions.php вашей темы):
<?php
function post_type_actions() {
$labels_post = array(
'name' => 'Акции',
'singular_name' => 'Акции',
'add_new' => 'Добавить',
'add_new_item' => 'Добавить акцию',
'edit_item' => 'Редактировать акцию',
'new_item' => 'Новая акция',
'view_item' => 'Посмотреть акцию',
'search_items' => 'Поиск акций',
'not_found' => 'Акции не найдены',
'not_found_in_trash' => 'Корзина пуста',
'parent_item_colon' => ''
);
register_post_type(
'action',
array(
'labels' => $labels_post,
'singular_label' => 'Акция',
'public' => true,
'show_ui' => true,
'has_archive' => false,
'capability_type' => 'page',
'hierarchical' => false,
'menu_icon' => 'dashicons-format-chat',
'rewrite' => array( 'slug' => 'action' ),
'query_var' => true,
'show_in_nav_menus' => true,
'menu_position' => 22,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields' ),
'_builtin' => false, // It's a custom post type, not built in!
) );
}
add_action( 'init', 'post_type_actions' );
После этого в админке появится блок "Акции", где можно будет добавлять/удалять/редактировать акции.
Далее, чтобы выводить акции на сайте, вам нужно создать шаблоны для архива акций archive-action.php и страницы акции single-action.php.
Чтобы вывести акции в других местах, используйте выборку с помощью WP_Query.
$query = new WP_Query( array( 'post_type' => 'action' ) );
Подробнее:
- Про создание своих типов записей: https://www.hostinger.com.ua/rukovodstva/sozdat-proizvolnye-tipy-zapisej/
- Про
WP_Queryчитайте в документации.