这是一个PHP问题,而不是WordPress问题。
尝试替换
$temp = explode( "|", $am );
使用
$temp = explode( "|", $am[0] );
自
$am
是一个数组。
您还应该考虑使用isset()
检查数组项是否存在。
这里有一个想法:
<?php
$affman = get_post_meta( $post->ID, \'affiliatemanager\', FALSE );
if ( is_array( $affman ) ){
$li = \'\';
foreach($affman as $am) {
$temp = array();
if( isset( $am[0] ) )
$temp = explode( \'|\', $am[0] );
if( count( $temp ) === 5 ){
$am_name = $temp[0];
$am_email = $temp[1];
$am_aim = $temp[2];
$am_phone = $temp[3];
$am_skype = $temp[4];
$li .= sprintf( \'<li>Name: %s | Email: %s | AIM: %s | Phone: %s | Skype: %s </li>\',
$am_name,
$am_email,
$am_aim,
$am_phone,
$am_skype
);
}
}
printf( \'<ul>%s</ul>\', $li );
}
?>