0

极客和代码之神,

我的 wordpress 代码有问题。我在仪表板的页面屏幕中添加了 3 个额外的列。

其中之一显示自定义字段'scode'。scode 自定义字段包含 cart66 短代码,它将“添加购物车”按钮添加到分配给它的页面。

短代码如下所示:

[add_to_cart item="HD-NL-7010"]

每个页面都有不同的简码。每个简码长度相同,长度为 31 个字符。

但是,我不希望在列中显示整个简码,只显示代码的产品代码*HD-NL-7010*部分。

是否可以隐藏前 19 个和后 2 个字符。基本上去除[add_to_cart item=" and "]

下面是我添加到 function.php 以将自定义列添加到 pages 表的代码:

function test_modify_post_table( $column ) {
    $column['scode'] = 'Product Code';
    $column['Price'] = 'Price';
    $column['Product_Image'] = 'Image';
    return $column;
}

add_filter( 'manage_pages_columns', 'test_modify_post_table' );


function test_modify_post_table_row( $column_name, $post_id ) {
    $custom_fields = get_post_custom( $post_id );

    switch ($column_name) {
        case 'scode' :
            echo $custom_fields['scode'][0];
            break;


        case 'Price' :
            echo '£' . $custom_fields['Price'][0];
            break;


        case 'Product_Image' :
            echo $custom_fields['Product_Image'][0];
            break;

        default:
    }
}

add_filter( 'manage_pages_custom_column', 'test_modify_post_table_row', 10, 2 );

感谢您阅读这篇文章。任何帮助将不胜感激。

PS 我将在另一篇文章中问这个问题,但有谁知道如何让 Product_Image 在页面列中显示为图像而不是图像附件 ID?

4

1 回答 1

1

我可能会误解,PHP 的substr有帮助吗?就像是:

case 'scode' :
    echo substr( $custom_fields['scode'][0], 19, 10 );
    break;

对于它的价值,我想我只将代码(HD-NL-7010)存储在自定义字段中,而不是短代码代码,然后在需要的地方应用短代码(使用do_shortcode)。

于 2013-05-09T12:42:44.293 回答