获取自定义字段值但隐藏前19个字符和后2个字符

时间:2013-05-09 11:03:17

标签: wordpress get hide dashboard custom-fields

极客和代码神,

我的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 );

感谢您阅读此帖。任何帮助将不胜感激。

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

1 个答案:

答案 0 :(得分:1)

我可能会误解,PHP的substr有帮助吗?类似的东西:

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

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