在WordPress管理列中显示Slug帖子/产品自定义帖子类型

时间:2013-02-04 18:15:58

标签: wordpress slug

我搜索了一下,除了插件之外找不到任何东西,这打破了WP。

我正在使用WooCommerce,因此涉及自定义帖子类型。 在产品列表页面中,我想添加一个新列,显示每个产品旁边每个产品网址的S ..

我找到了一种方法来显示ID非常简单,但不是slu ..

谢谢

2 个答案:

答案 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 );