极客和代码神,
我的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?
答案 0 :(得分:1)
我可能会误解,PHP的substr有帮助吗?类似的东西:
case 'scode' :
echo substr( $custom_fields['scode'][0], 19, 10 );
break;
对于它的价值,我认为我只将代码(HD-NL-7010)存储在自定义字段中,而不是短代码代码中,然后在需要的地方应用短代码(使用do_shortcode)。