TransWikia.com

Как создать страницу с кастомной вёрсткой для списка акций?

Stack Overflow на русском Asked by Ostet on December 18, 2021

Есть сайт на Вордпрессе с Вукоммерсом. И там должна быть отдельная страница "Акции" со списком акций, типа "каждому покупателю ххх – ууу в подарок!", "приведи друга – получишь скидку!" и тому подобные. То есть, это не просто скидки в цене, а именно какие-то предложения. У каждой акции должна быть миниатюра, заголовок, текст и сроки действия (от и до).

Но как их вывести на страницу? Пока что сделал для этой страницы отдельный шаблон и все изменения в акциях идут через её редактирование в админке. То есть, там в html-виде вся разметка. Но это очевидно неудобно для менеджера, который будет их редактировать.

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

One Answer

В 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' ) );

Подробнее:

Answered by Neolot on December 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP