我正在尝试更改添加到 wordpress 的自定义帖子的后端帖子列表模板。为清楚起见,下图显示了我所说的“发布列表模板”的含义:
常规帖子列表模板显示“标题”、“作者”、“类别”、“标签”、“语言”和“日期”字段。但是,我的自定义帖子具有额外的功能和其他我想添加到此模板的自定义字段,但我找不到该方法。
我正在尝试更改添加到 wordpress 的自定义帖子的后端帖子列表模板。为清楚起见,下图显示了我所说的“发布列表模板”的含义:
常规帖子列表模板显示“标题”、“作者”、“类别”、“标签”、“语言”和“日期”字段。但是,我的自定义帖子具有额外的功能和其他我想添加到此模板的自定义字段,但我找不到该方法。
那么你想添加什么?很可能您必须深入研究 Wordpress 代码才能更改它。我从来没有见过这种功能的插件。你还想补充什么?
您需要查看的代码是“/wp-admin/edit.php”。这是一个相当长且相当复杂的文件。祝你好运。
找到了答案!
“manage__posts_columns”过滤器可用于修改显示的列。
“manage_posts_custom_column”操作可用于修改这些列的内容。
添加自定义列的代码示例:
function change_columns( $cols ) {
$cols = array(
'cb' => '<input type="checkbox" />',
'title' => __( 'Title', 'trans' ),
'vin' => __( 'Vin #', 'trans' ),
'make' => __( 'Make', 'trans' ),
'model' => __( 'Model', 'trans' ),
'year' => __( 'Year', 'trans' ),
'color' => __( 'Color', 'trans' ),
'thumbnail' => __( 'Image', 'trans' ),
);
return $cols;
}
add_filter( "manage_tek_car_post_posts_columns", "change_columns" );
将内容添加到这些列的代码示例:
function custom_columns( $column, $post_id ) {
switch ( $column ) {
case "vin":
$colvin = get_post_meta( $post_id, 'vin', true);
echo $colvin;
break;
case "make":
$colmake = get_post_meta( $post_id, 'carmake', true);
echo $colmake;
break;
case "model":
$colmodel = get_post_meta( $post_id, 'carmodel', true);
echo $colmodel;
break;
case "year":
$colyear = get_post_meta( $post_id, 'caryear', true);
echo $colyear;
break;
case "color":
$colcolor = get_post_meta( $post_id, 'excolor', true);
echo $colcolor;
break;
}
}
add_action( "manage_posts_custom_column", "custom_columns", 10, 2 );
我刚刚在下面添加了类似的内容wp-admin/includes/class-wp-list-table.php
<table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>" cellspacing="0">
<thead>
<tr>
SWapnesh
</tr>
并且所有内容都在页面上正确wp-admin/edit.php
显示(代码在我的 wordpress 中的第 775 行附近)