警告:array_keys() 期望参数 1 是数组,字符串在第 34 行的 /home/hennacur/public_html/shop/wp-content/themes/montezuma/includes/image_meta.php 中给出
警告:在第 40 行的 /home/hennacur/public_html/shop/wp-content/themes/montezuma/includes/image_meta.php 中为 foreach() 提供的参数无效
function bfa_image_size() {
$meta = wp_get_attachment_metadata();
echo $meta['width']. '×' . $meta['height'];
}
function bfa_image_meta( $args = '' ) {
$defaults = array(
'keys' => '',
'before' => '',
'after' => '',
'item_before' => '',
'item_after' => '',
'item_sep' => ' · ',
'key_before' => '',
'key_after' => ': ',
'value_before' => '',
'value_after' => '',
'display_empty' => FALSE
);
$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
$meta = wp_get_attachment_metadata();
$string_array = array();
// All keys, alphabetically sorted, as provided by wp_get_attachment_metadata()
if( $keys == '' ) {
$array_keys = array_keys( $meta['image_meta'] ); ---***line34***
// Only keys specificed in parameter:
} else {
$array_keys = array_map( 'trim', explode( ',', $keys ) );
}
foreach( $array_keys as $key ) { --***line 40***
$value = $meta['image_meta'][$key];
if( $display_empty === TRUE || ( $value != '' && $value != '0' ) ) {
if( $key == 'created_timestamp' )
// Transform timestamp into readable date, based on default WP date/time settings:
$value = date( get_option('date_format') . ' - ' . get_option('time_format'), $value );
// Prettify key
$key = ucwords( str_replace( '_', ' ', $key ) );
$key = $key == 'Iso' ? 'ISO' : $key;
$key = str_replace(
array(
'Aperture',
'Credit',
'Camera',
'Caption',
'Created Timestamp',
'Copyright',
'Focal Length',
'ISO',
'Shutter Speed',
'Title'
),
array(
__( 'Aperture', 'montezuma' ),
__( 'Credit', 'montezuma' ),
__( 'Camera', 'montezuma' ),
__( 'Caption', 'montezuma' ),
__( 'Timestamp', 'montezuma' ),
__( 'Copyright', 'montezuma' ),
__( 'Focal Length', 'montezuma' ),
__( 'ISO', 'montezuma' ),
__( 'Shutter Speed', 'montezuma' ),
__( 'Title', 'montezuma' )
),
$key
);
我有上面的代码。出现警告的原因可能是什么?