我正在自定义管理编辑。php屏幕和我有一列,显示一个元键$gear
. 但它只列出第一个值,而不是返回所有值的列表。重要的是:
add_action( \'manage_artists_posts_custom_column\', \'manage_artists_columns\', 10, 2 );
function manage_artists_columns( $column, $post_id ) {
global $post;
switch( $column ) {
case \'gear\' :
$gear = get_post_meta( $post_id, \'gear\', true );
if ( empty( $gear ) )
echo __( \'\' );
else
printf( __( \'%s\' ), $gear );
break;
default :
break;
}
}
我使用类似的
get_post_meta()
在使用
if( $gear = get_post_meta($post->ID, \'gear\')
echo implode( $gear, \', \' );
但我无法使其适应此应用程序。如何让printf输出所有值?
最合适的回答,由SO网友:fuxia 整理而成
$gear = get_post_meta( $post_id, \'gear\', true );
…将仅返回最后一个值,因为您告诉它使用最后一个参数执行此操作。放下它,您将得到一个包含所有值的数组:
$gear = get_post_meta( $post_id, \'gear\' );
然后使用以下内容打印:
print join( $gear, \', \' );
正如Chip所指出的:不要对不可翻译的值使用翻译函数。甚至可翻译的值也需要一个文本域。