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

WBOY
Freigeben: 2023-09-04 18:42:01
Original
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;
	}
}
Nach dem Login kopieren

第 2 步将列函数挂接到 WordPress

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

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

add_filter('manage_posts_columns', 'ST4_columns_head');
add_filter('manage_posts_custom_column', 'ST4_columns_content', 10, 2);
Nach dem Login kopieren

仅限 WordPress 默认帖子

add_filter('manage_post_posts_columns', 'ST4_columns_head', 10);
add_action('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);
Nach dem Login kopieren

仅限 WordPress 默认页面

add_filter('manage_page_posts_columns', 'ST4_columns_head', 10);
add_action('manage_page_posts_custom_column', 'ST4_columns_content', 10, 2);
Nach dem Login kopieren

仅限电影自定义帖子类型

add_filter('manage_movie_posts_columns', 'ST4_columns_head_movies', 10);
add_action('manage_movie_posts_custom_column', 'ST4_columns_content_movies', 10, 2);
Nach dem Login kopieren

帖子类别

add_filter('manage_edit-category_columns', 'ST4_columns_head');
add_filter('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Nach dem Login kopieren

仅限流派自定义分类

add_filter('manage_edit-genre_columns', 'ST4_columns_head');
add_filter('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Nach dem Login kopieren

发布标签

add_filter('manage_edit-post_tag_columns', 'ST4_columns_head');
add_filter('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Nach dem Login kopieren

链接类别

add_filter('manage_edit-link_category_columns', 'ST4_columns_head');
add_filter('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
Nach dem Login kopieren

媒体库

add_filter('manage_media_columns', 'ST4_columns_head');
add_filter('manage_media_custom_column', 'ST4_columns_content', 10, 2);
Nach dem Login kopieren

用户

add_filter('manage_users_columns', 'ST4_columns_head');
add_filter('manage_users_custom_column', 'ST4_columns_content_users', 10, 2);
Nach dem Login kopieren

最后的注释

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

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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!