• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Как создать поле - уровень сложности статьи

bonny

Мой дом здесь!
Регистрация
11 Июл 2008
Сообщения
553
Реакции
263
Хотелось бы дополнить статьи таким параметром как уровень сложности
И каждому уровню соответствует какой то значек
И этот значек отображается рядом с названием статьи
Как это сделать с минимальными затратами времени?
 
Хотелось бы дополнить статьи таким параметром как уровень сложности
И каждому уровню соответствует какой то значек
И этот значек отображается рядом с названием статьи
Как это сделать с минимальными затратами времени?
Используй плагин ACF
 
С минимальными затратами времени проще всего будет обратиться к профессионалу.

А вообще, правильно выше написали плагин Advanced Custom Fields.

Создаешь в ACF поле Уровень сложности (slug = difficulty_level) с типом выпадающий список (select). Ставишь значения (Легкий, Средний, Сложный). Поле выводится, допустим, на записи у постов в рубрике Статьи.

Далее проставляешь сложность у каждой статьи в админке, при её редактировании.

Также потребуется модифицировать тему дизайна. В основном цикле, рядом с названием статьи пишешь.
HTML:
<p>Уровень сложности: <?php the_field('difficulty_level'); ?></p>

А чтобы приделать значок, ещё потребуется внести изменения в CSS. В зависимости от выбранного типа нужно, чтобы у элемента <p> был соответсвующий класс. В зависимости от класса можно вывести фоновой картинкой иконку.

Если чувствуешь в себе силы самостоятельно внедрить данную доделку, то дерзай. Или обращайся к специалистам, это надежнее.
 
  • Заблокирован
  • #4
рекомендовал бы вручную сделать доп поля, почитав об этом в нете и дополнив functions.php в теме соотвествующим кодом
не стоит ради такой мелочи ставить плагины ... это как по воробьям стрелять.
вот пример из нета
PHP:
// Добавляем дополнительное поле
function my_meta_box() { 
    add_meta_box( 
        'my_meta_box', // Идентификатор(id)
        'My Meta Box', // Заголовок области с мета-полями(title)
        'show_my_metabox', // Вызов(callback)
        'post', // Где будет отображаться наше поле, в нашем случае в Записях
        'normal',
        'high');
} 
add_action('add_meta_boxes', 'my_meta_box'); // Запускаем функцию

PHP:
$meta_fields = array( 
    array( 
        'label' => 'Текстовое поле', 
        'desc'  => 'Описание для поля.', 
        'id'    => 'mytextinput', // даем идентификатор.
        'type'  => 'text'  // Указываем тип поля.
    ), 
    array( 
        'label' => 'Большое текстовое поле', 
        'desc'  => 'Описание для поля.', 
        'id'    => 'mytextarea',  // даем идентификатор.
        'type'  => 'textarea'  // Указываем тип поля.
    ), 
    array( 
        'label' => 'Чекбоксы (флажки)', 
        'desc'  => 'Описание для поля.', 
        'id'    => 'mycheckbox',  // даем идентификатор.
        'type'  => 'checkbox'  // Указываем тип поля.
    ), 
    array( 
        'label' => 'Всплывающий список', 
        'desc'  => 'Описание для поля.', 
        'id'    => 'myselect', 
        'type'  => 'select', 
        'options' => array (  // Параметры, всплывающие данные
            'one' => array ( 
                'label' => 'Вариант 1',  // Название поля
                'value' => '1'  // Значение
            ), 
            'two' => array ( 
                'label' => 'Вариант 2',  // Название поля
                'value' => '2'  // Значение
            ), 
            'three' => array ( 
                'label' => 'Вариант 3',  // Название поля
                'value' => '3'  // Значение
            ) 
        ) 
    ) 
);

PHP:
// Вызов метаполей 
function show_my_metabox() { 
global $meta_fields; // Обозначим наш массив с полями глобальным
global $post;  // Глобальный $post для получения id создаваемого/редактируемого поста
// Выводим скрытый input, для верификации. Безопасность прежде всего!
echo '<input type="hidden" name="custom_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; 
    // Начинаем выводить таблицу с полями через цикл
    echo '<table class="form-table">'; 
    foreach ($meta_fields as $field) { 
        // Получаем значение если оно есть для этого поля
        $meta = get_post_meta($post->ID, $field['id'], true); 
        // Начинаем выводить таблицу
        echo '<tr>
                <th><label for="'.$field['id'].'">'.$field['label'].'</label></th>
                <td>'; 
                switch($field['type']) { 
                    // Выводить поля будем здесь, как это сделать читайте ниже!
                }
        echo '</td></tr>'; 
    } 
    echo '</table>';
}
 
Назад
Сверху