Этот быстрый совет объясняет, как добавить пользовательский столбец на экранах управления вашего блога WordPress.
Вот некоторые фрагменты кода, которые можно использовать для настройки столбцов на экранах управления.
Вы можете скопировать и вставить их в файл functions.php вашей темы или скачать плагин, прикрепленный к этому сообщению.
Шаг 1 Определите функции столбца
Сначала давайте определим некоторые вспомогательные функции, которые мы позже подключим к WordPress. Первые два добавляют новый столбец (или два столбца, или удаляют столбец по умолчанию), в то время как другие отображают содержимое столбца. В этих примерах мы предполагаем, что вы уже активировали фильм « Тип поста» и жанр « Таксономия пользователя». О создании пользовательских типов записей и таксономий вы можете прочитать в предыдущей статье.
01
02
03
04
05
06
07
08
09
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
|
function ST4_columns_head($defaults) {
$defaults[‘first_column’] = ‘First Column’;
/* ADD ANOTHER COLUMN (OPTIONAL) */
// $defaults[‘second_column’] = ‘Second Column’;
/* REMOVE DEFAULT CATEGORY COLUMN (OPTIONAL) */
// unset($defaults[‘categories’]);
/* TO GET DEFAULTS COLUMN NAMES: */
// print_r($defaults);
return $defaults;
}
// ONLY FOR movie CUSTOM POST TYPE
function ST4_columns_head_movies($defaults) {
$defaults[‘my_movie_column’] = ‘MY MOVIE COLUMN’;
return $defaults;
}
// GENERAL PURPOSE
function ST4_columns_content($column_name, $post_ID) {
if ($column_name == ‘first_column’) {
// DO STUFF FOR first_column COLUMN
echo ‘The post ID is: ‘ .
}
/* IF YOU NEED ANOTHER COLUMN — UNCOMMENT ALSO
$defaults[‘second_column’] = ‘Second Column’;
in ST4_columns_head()
*/
/*
if ($column_name == ‘second_column’) {
// DO STUFF FOR second_column COLUMN
}
*/
}
// TAXONOMIES: CATEGORIES (POSTS AND LINKS), TAGS AND CUSTOM TAXONOMIES
function ST4_columns_content_taxonomy($c, $column_name, $term_id) {
if ($column_name == ‘first_column’) {
echo ‘The term ID is: ‘ .
}
}
// USERS
function ST4_columns_content_users($c, $column_name, $user_id) {
if ($column_name == ‘first_column’) {
$output .= ‘The user ID is: ‘ .
}
if ($column_name == ‘second_column’) {
$output .= ‘This is the second column content’;
}
return $output;
}
// CUSTOM POSTS
function ST4_columns_content_movies($column_name, $movie_ID) {
if ($column_name == ‘my_movie_column’) {
echo ‘The movie ID is: ‘ .
}
}
|
Шаг 2 Подключите функции столбца к WordPress
Теперь давайте подключим функции к экранам управления WordPress:
Сообщения и типы сообщений, кроме страниц
1
2
|
add_filter(‘manage_posts_columns’, ‘ST4_columns_head’);
add_filter(‘manage_posts_custom_column’, ‘ST4_columns_content’, 10, 2);
|
Только сообщения WordPress по умолчанию
1
2
|
add_filter(‘manage_post_posts_columns’, ‘ST4_columns_head’, 10);
add_action(‘manage_post_posts_custom_column’, ‘ST4_columns_content’, 10, 2);
|
Только WordPress стандартные страницы
1
2
|
add_filter(‘manage_page_posts_columns’, ‘ST4_columns_head’, 10);
add_action(‘manage_page_posts_custom_column’, ‘ST4_columns_content’, 10, 2);
|
Только фильм Пользовательский тип сообщения
1
2
|
add_filter(‘manage_movie_posts_columns’, ‘ST4_columns_head_movies’, 10);
add_action(‘manage_movie_posts_custom_column’, ‘ST4_columns_content_movies’, 10, 2);
|
Категории сообщений
1
2
|
add_filter(‘manage_edit-category_columns’, ‘ST4_columns_head’);
add_filter(‘manage_category_custom_column’, ‘ST4_columns_content_taxonomy’, 10, 2);
|
Только Жанр Пользовательская Таксономия
1
2
|
add_filter(‘manage_edit-genre_columns’, ‘ST4_columns_head’);
add_filter(‘manage_genre_custom_column’, ‘ST4_columns_content_taxonomy’, 10, 2);
|
Теги сообщений
1
2
|
add_filter(‘manage_edit-post_tag_columns’, ‘ST4_columns_head’);
add_filter(‘manage_post_tag_custom_column’, ‘ST4_columns_content_taxonomy’, 10, 2);
|
Категории ссылок
1
2
|
add_filter(‘manage_edit-link_category_columns’, ‘ST4_columns_head’);
add_filter(‘manage_link_category_custom_column’, ‘ST4_columns_content_taxonomy’, 10, 2);
|
Медиа библиотека
1
2
|
add_filter(‘manage_media_columns’, ‘ST4_columns_head’);
add_filter(‘manage_media_custom_column’, ‘ST4_columns_content’, 10, 2);
|
пользователей
1
2
|
add_filter(‘manage_users_columns’, ‘ST4_columns_head’);
add_filter(‘manage_users_custom_column’, ‘ST4_columns_content_users’, 10, 2);
|
Финальные заметки
Два последних примечания: если на экране управления нет элементов, например, пока нет тегов, содержимое нового столбца не отображается.
Функция ST4_columns_content_users
немного отличается от других, поскольку она возвращает переменную PHP, содержащую HTML, вместо печати содержимого столбца на лету.