Этот быстрый совет объясняет, как добавить пользовательский столбец на экранах управления вашего блога 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, вместо печати содержимого столбца на лету.