在 WordPress 管理列帖子/产品自定义帖子类型中显示 Slug
Posted
技术标签:
【中文标题】在 WordPress 管理列帖子/产品自定义帖子类型中显示 Slug【英文标题】:Display Slug in WordPress Admin Columns posts/products custom post type 【发布时间】:2013-01-19 12:22:27 【问题描述】:我搜索了很多,除了一个破坏 WP 的插件之外找不到任何东西。
我使用的是 WooCommerce,因此涉及自定义帖子类型。 在产品列表页面中,我想添加一个新列,在每个产品旁边显示每个产品 url 的 Slug。
我找到了一种非常容易显示 ID 的方法,但不是 slug。
谢谢
【问题讨论】:
【参考方案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 列。
【讨论】:
【参考方案2】:这是确切的工作代码:
// 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 );
【讨论】:
以上是关于在 WordPress 管理列帖子/产品自定义帖子类型中显示 Slug的主要内容,如果未能解决你的问题,请参考以下文章