我已经搜索了很多,除了一个破坏 WP 的插件之外找不到任何东西。
我正在使用 WooCommerce,因此涉及自定义帖子类型。在产品列表页面中,我想添加一个新列,在每个产品旁边显示每个产品 url 的 Slug。
我找到了一种非常容易显示 ID 的方法,但不是蛞蝓。
谢谢
这是确切的工作代码:
// Add product slug column after product name
function add_product_slug_column_heading( $columns ) {
$slug_column = array(
'product_slug' => __( 'Slug' )
);
$columns = array_slice( $columns, 0, 3, true ) + $slug_column + array_slice( $columns, 3, count( $columns ) - 1, true );
return $columns;
}
add_filter('manage_edit-product_columns','add_product_slug_column_heading');
// Display product slug
function add_product_slug_column_value( $column_name, $id ) {
if ( 'product_slug' == $column_name ) {
echo get_post_field( 'post_name', $id, 'raw' );
}
}
add_action( "manage_product_posts_custom_column", 'add_product_slug_column_value', 10, 2 );
首先,您要在产品名称后添加一个 slug 列。
// Add product slug column after product name
function add_product_slug_column_heading( $columns ) {
$slug_column = array(
'product_slug' => __( 'Slug' )
);
$columns = array_slice( $columns, 0, 3, true ) + $slug_column + array_slice( $columns, 3, count( $columns ) - 1, true );
return $columns;
}
然后使用 manage_product_posts_custom_column 过滤器来显示 slug 值。
// Display product slug
function add_product_slug_column_value( $column_name, $id ) {
if ( 'product_slug' == $column_name ) {
echo get_post_field( 'post_name', $id, 'raw' );
}
}
add_action( "manage_product_posts_custom_column", 'add_product_slug_column_value', 10, 2 );
无编码解决方案
如果您只是在寻找无需编码的快速解决方案,您可以使用完全免费的管理列。它使您只需单击几下即可添加相同的 slug 列。