Wordpress 中的非法字符串偏移警告 [英] Illegal string offset Warning in Wordpress
问题描述
我正面临错误/警告非法字符串偏移
I am facing error/Warning Illegal string offset
我已经检查了所有代码,但没有找到错误原因.使用以下功能,我的主题样式正在运行,代码是在 function.php 中以 wordpress 主题编写的.
I have check all my code but no error reason found. with below function my theme style is working the code is written in word press theme in the function.php.
( ! ) SCREAM:错误抑制被忽略( ! ) 警告:F:\wamp\www\wordpress-3.6.1-newsduke\wp-content\themes\hotnews\functions\theme-functions.php 中第 140 行的非法字符串偏移face"
( ! ) SCREAM: Error suppression ignored for ( ! ) Warning: Illegal string offset 'face' in F:\wamp\www\wordpress-3.6.1-newsduke\wp-content\themes\hotnews\functions\theme-functions.php on line 140
function freshthemes_theme_styles() {
/* Google fonts array */
$google_fonts = array_keys( freshthemes_typography_get_google_fonts() );
/* Define all the options that possibly have a unique Google font */
$body_font = ft_get_option('body_font', 'Arial, Helvetica, san-serif');
$heading_font = ft_get_option('heading_font', 'Arial, Helvetica, san-serif');
$menu_nav_font = ft_get_option('menu_nav_font', 'Arial, Helvetica, san-serif');
/* Get the font face for each option and put it in an array */
$selected_fonts = array(
$body_font['face'],
$heading_font['face'],
$menu_nav_font['face'],
);
/* Remove any duplicates in the list */
$selected_fonts = array_unique($selected_fonts);
/* If it is a Google font, go ahead and call the function to enqueue it */
foreach ( $selected_fonts as $font ) {
if ( in_array( $font, $google_fonts ) ) {
freshthemes_typography_enqueue_google_font($font);
}
}
// Register our styles.
wp_register_style('main', get_stylesheet_uri(), false, THEME_VERSION, 'all');
wp_register_style('prettyPhoto', THEME_DIR . '/stylesheets/prettyPhoto.css', false, THEME_VERSION, 'all');
wp_register_style('responsive', THEME_DIR . '/stylesheets/responsive.css', false, THEME_VERSION, 'all');
wp_register_style('custom-style', THEME_DIR . '/functions/framework/frontend/custom-style.css', false, filemtime(THEME_PATH . '/functions/framework/frontend/custom-style.css'), 'all');
// Enqueue them.
wp_enqueue_style('main');
wp_enqueue_style('custom-style');
wp_enqueue_style('prettyPhoto');
wp_enqueue_style('responsive');
}
推荐答案
尝试:
$selected_fonts = array(
$body_font,
$heading_font,
$menu_nav_font,
);
由于 $body_font、$heading_font 和 $menu_nav_font 是字符串,将它们用作数组会产生警告.
As $body_font, $heading_font and $menu_nav_font are string, using those as array will produce the warnings.
更通用:
$selected_fonts = array(
is_array($body_font) && isset($body_font['face']) ? $body_font['face'] : $body_font,
is_array($heading_font) && isset($heading_font['face']) ? $heading_font['face'] : $heading_font,
is_array($menu_nav_font) && isset($menu_nav_font['face']) ? $menu_nav_font['face'] : $menu_nav_font,
);
这篇关于Wordpress 中的非法字符串偏移警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!