Форум программистов, компьютерный форум, киберфорум
Наши страницы
Fedor92
Войти
Регистрация
Восстановить пароль
Блог для web-разработчиков и людей неравнодушных к IT-технологиям
Оценить эту запись

Артефакты Wordpress

Запись от Fedor92 размещена 22.09.2019 в 00:11
Обновил(-а) Fedor92 22.09.2019 в 13:58

Добрый вечер! Сегодня небольшая запись, посвящённая артефактам вордпресса. В то время когда я не работаю по основному проекту на YII, иногда прилетают задачки по поддержке и администрированию сайтов. Поэтому частенько приходится читать чужой код, подмечать для себя какие-то плюшки. Сегодня, для ценителей этого движка, забложу один любопытный артефакт. Уверен, что для людей давно постигших Дзен в написании тем для wp, мой пост явно не вызовет никаких эмоций. А вот начинающим кодерам, на мой взгляд, рано или поздно может пригодиться. Итак, к сути...

Проблема: клонировать раздел "Записи" в админке и назвать их к примеру - "Кондиционеры"

Для решения нам понадобится файл functions.php

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
function custom_post_type_conditions() {
 
// Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Кондиционеры', 'Post Type General Name', 'shop' ),
        'singular_name'       => _x( 'Кондиционер', 'Post Type Singular Name', 'shop' ),
        'menu_name'           => __( 'Кондиционеры', 'shop' ),
        'all_items'           => __( 'Все кондиционеры', 'shop' ),
        'view_item'           => __( 'Просмотреть кондиционер', 'shop' ),
        'add_new_item'        => __( 'Добавить кондиционер', 'shop' ),
        'add_new'             => __( 'Добавить новый', 'shop' ),
        'edit_item'           => __( 'Редактировать', 'shop' ),
        'update_item'         => __( 'Обновить', 'shop' ),
        'search_items'        => __( 'Поиск кондиционера', 'shop' ),
        'not_found'           => __( 'Не найден', 'shop' ),
        'not_found_in_trash'  => __( 'Не найден в корзине', 'shop' ),
    );
 
// Set other options for Custom Post Type
 
    $args = array(
        'label'               => __( 'кондиционеры', 'shop' ),
        'description'         => __( 'Кондиционеры', 'shop' ),
        'labels'              => $labels,
        // Features this CPT supports in Post Editor
        'supports'            => [
                                'title',
                                'editor',
                                'excerpt',
                                'thumbnail',
                                'page-attributes',
                            ],
        // You can associate this CPT with a taxonomy or custom taxonomy.
        'taxonomies'          => array( 'conditions' ),
        /* A hierarchical CPT is like Pages and can have
        * Parent and child items. A non-hierarchical CPT
        * is like Posts.
        */
        'hierarchical'        => true,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => false,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
        'rewrite'             => [
            'slug' => 'conditions',
            'hierarchical'=> true
        ]
    );
 
    // Registering your Custom Post Type
    register_post_type( 'conditions', $args );
 
}
 
/* Hook into the 'init' action so that the function
* Containing our post type registration is not
* unnecessarily executed.
*/
 
add_action( 'init', 'custom_post_type_conditions', 0 );
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 124
Размер:	120.9 Кб
ID:	5579

Вуаля, вот мы и зарегистрировали кастомный вид записей...

Ну и разумеется вывод записей:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
    $conditions = new WP_Query( [
        'post_type' => 'conditions',
        'posts_per_page' => 10,
        'order'   => 'DESC',
    ] );
?>
 
<?php if ( $conditions->have_posts() ) : ?>
    <?php while ( $conditions->have_posts() ) : $conditions->the_post();  ?>
        //Здесь шаблон вывода записи
    <?php endwhile; // конец цикла ?>
<?php endif; ?>
Размещено в Без категории
Просмотров 199 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.