我搜索了一下,除了插件之外找不到任何东西,这打破了WP。
我正在使用WooCommerce,因此涉及自定义帖子类型。 在产品列表页面中,我想添加一个新列,显示每个产品旁边每个产品网址的S ..
我找到了一种方法来显示ID非常简单,但不是slu ..
谢谢
答案 0 :(得分:1)
首先,您要在产品名称后面添加一个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 );
无编码解决方案
如果您只是在寻找没有编码的快速解决方案,您可以使用admin columns,完全免费。它允许您只需点击几下即可添加相同的slug列。
答案 1 :(得分:1)
以下是确切的工作代码:
// 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 );