快速提示:在WordPress管理屏幕中添加自定义列

WBOY
Lepaskan: 2023-09-04 18:42:01
asal
1038 人浏览过

快速提示:在WordPress管理屏幕中添加自定义列

此快速提示介绍了如何在 WordPress 博客的管理屏幕中添加自定义列。


以下是一些代码片段,您可以使用它们来自定义“管理屏幕”中的列。

您可以将它们复制并粘贴到主题的 functions.php 文件中,或下载本文附带的插件。


第 1 步定义列函数

首先,让我们定义一些辅助函数,稍后我们将把它们挂接到 WordPress 中。前两个添加新列(或两列,或删除默认列),而其他列则显示列内容。在这些示例中,我们假设您已经激活了电影自定义帖子类型和流派自定义分类。您可以在上一篇文章中了解如何创建自定义帖子类型和分类法。

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: ' . $post_ID;
	}

	/* 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: ' . $term_id;
	}
}

// USERS
function ST4_columns_content_users($c, $column_name, $user_id) {
	if ($column_name == 'first_column') {
		$output .=  'The user ID is: ' . $user_id;
	}
	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: ' . $movie_ID;
	}
}
Salin selepas log masuk

第 2 步将列函数挂接到 WordPress

现在,让我们将这些功能挂接到 WordPress 管理屏幕中:

帖子和帖子类型,页面除外

add_filter('manage_posts_columns', 'ST4_columns_head');
add_filter('manage_posts_custom_column', 'ST4_columns_content', 10, 2);
Salin selepas log masuk

仅限 WordPress 默认帖子

add_filter('manage_post_posts_columns', 'ST4_columns_head', 10);
add_action('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);
Salin selepas log masuk

仅限 WordPress 默认页面

add_filter('manage_page_posts_columns', 'ST4_columns_head', 10);
add_action('manage_page_posts_custom_column', 'ST4_columns_content', 10, 2);
Salin selepas log masuk

仅限电影自定义帖子类型

add_filter('manage_movie_posts_columns', 'ST4_columns_head_movies', 10);
add_action('manage_movie_posts_custom_column', 'ST4_columns_content_movies', 10, 2);
Salin selepas log masuk

帖子类别

add_filter('manage_edit-category_columns', 'ST4_columns_head');
add_filter('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Salin selepas log masuk

仅限流派自定义分类

add_filter('manage_edit-genre_columns', 'ST4_columns_head');
add_filter('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Salin selepas log masuk

发布标签

add_filter('manage_edit-post_tag_columns', 'ST4_columns_head');
add_filter('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Salin selepas log masuk

链接类别

add_filter('manage_edit-link_category_columns', 'ST4_columns_head');
add_filter('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Salin selepas log masuk

媒体库

add_filter('manage_media_columns', 'ST4_columns_head');
add_filter('manage_media_custom_column', 'ST4_columns_content', 10, 2);
Salin selepas log masuk

用户

add_filter('manage_users_columns', 'ST4_columns_head');
add_filter('manage_users_custom_column', 'ST4_columns_content_users', 10, 2);
Salin selepas log masuk

最后的注释

最后两个注意事项:如果管理屏幕没有项目,例如还没有标签,则不会显示新列的内容。

ST4_columns_content_users 函数与其他函数略有不同,因为它返回一个包含 HTML 的 PHP 变量,而不是动态打印列内容。

以上是快速提示:在WordPress管理屏幕中添加自定义列的详细内容。更多信息请关注PHP中文网其他相关文章!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!