Как можно вывести содержимое произвольного поля постов в виде колонки в Wordpress?

Добрый день, мне нужна помощь с плагином Вакансий, который я не разработал сам.
Изображение к вопросу
Изображение к вопросу
  • 8 февраля 2024 г. 21:38
Ответы на вопрос 1
Для добавления новой колонки в список постов (вакансий) на странице админки WordPress, вам нужно использовать несколько хуков в вашем `functions.php` темы или в специальном плагине. Я предоставлю вам пример кода, который вы можете адаптировать под свои нужды.

Вот базовый шаблон для добавления колонки:

```php
// Добавляем новую колонку в админке
function add_custom_column_to_job_listing($columns) {
    $columns['custom_field'] = 'Название новой колонки';
    return $columns;
}
add_filter('manage_edit-{post_type}_columns', 'add_custom_column_to_job_listing');

// Заполняем колонку данными
function custom_column_content_in_job_listing($column, $post_id) {
    switch ($column) {
        case 'custom_field':
            // Получаем данные произвольного поля
            $value = get_post_meta($post_id, 'имя_произвольного_поля', true);
            echo $value ? $value : 'Пусто';
            break;
    }
}
add_action('manage_{post_type}_posts_custom_column', 'custom_column_content_in_job_listing', 10, 2);

// (Необязательно) Добавляем возможность сортировать колонку
function custom_column_sortable_in_job_listing($columns) {
    $columns['custom_field'] = 'имя_произвольного_поля';
    return $columns;
}
add_filter('manage_edit-{post_type}_sortable_columns', 'custom_column_sortable_in_job_listing');
```

Здесь нужно заменить `{post_type}` на имя типа записи, для которой вы хотите добавить колонку (например, для типа записи "вакансии" это может быть `job_listing` или что-то в этом роде, в зависимости от того, как оно названо в вашем плагине). Также вам нужно заменить `'имя_произвольного_поля'` на имя произвольного поля, данные из которого вы хотите выводить.

Этот код нужно добавить в файл `functions.php` вашей активной темы или создать отдельный плагин для этих целей.

Если у вас возникнут проблемы с определением точного имени типа записи или имени произвольного поля, проверьте код плагина вакансий или используйте плагин типа "Advanced Custom Fields" для управления произвольными полями и отображения их названий.

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