快速提示:在WordPress管理畫面中新增自訂列

WBOY
發布: 2023-09-04 18:42:01
原創
1123 人瀏覽過

快速提示:在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;
	}
}
登入後複製

第 2 步驟將列函數掛接到 WordPress

現在,讓我們將這些功能掛接到 WordPress 管理畫面:

貼文和貼文類型,頁面除外

add_filter('manage_posts_columns', 'ST4_columns_head');
add_filter('manage_posts_custom_column', 'ST4_columns_content', 10, 2);
登入後複製

僅限 WordPress 預設貼文

add_filter('manage_post_posts_columns', 'ST4_columns_head', 10);
add_action('manage_post_posts_custom_column', 'ST4_columns_content', 10, 2);
登入後複製

僅限 WordPress 預設頁面

add_filter('manage_page_posts_columns', 'ST4_columns_head', 10);
add_action('manage_page_posts_custom_column', 'ST4_columns_content', 10, 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);
登入後複製

帖子類別

add_filter('manage_edit-category_columns', 'ST4_columns_head');
add_filter('manage_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
登入後複製

僅限流派自訂分類

add_filter('manage_edit-genre_columns', 'ST4_columns_head');
add_filter('manage_genre_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
登入後複製

發布標籤

add_filter('manage_edit-post_tag_columns', 'ST4_columns_head');
add_filter('manage_post_tag_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
登入後複製

連結類別

add_filter('manage_edit-link_category_columns', 'ST4_columns_head');
add_filter('manage_link_category_custom_column', 'ST4_columns_content_taxonomy', 10, 2);
登入後複製

媒體庫

add_filter('manage_media_columns', 'ST4_columns_head');
add_filter('manage_media_custom_column', 'ST4_columns_content', 10, 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 函數與其他函數略有不同,因為它會傳回一個包含 HTML 的 PHP 變量,而不是動態列印列內容。

以上是快速提示:在WordPress管理畫面中新增自訂列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!