【问题标题】:Warning: in_array() expects parameter 2 to be array - ERROR警告:in_array() 期望参数 2 为数组 - 错误
【发布时间】:2015-08-13 22:53:40
【问题描述】:

我无法找出这个错误。任何帮助将不胜感激!

警告:in_array() 期望参数 2 为数组

此代码块中出现错误,该代码块是来自名为 Easy Social Share 按钮的 wordpress 插件的 php 文件。

// get post types
$pts     = get_post_types( array('show_ui' => true, '_builtin' => true)  );
$cpts    = get_post_types( array('show_ui' => true, '_builtin' => false) );
foreach ( $pts as $pt ) {
if (defined('ESSB3_SSO_ACTIVE') && !$turnoff_essb_optimize_box) {
add_meta_box('essb_metabox_sso', __('Easy Social Share Buttons: Social Share Optimization', ESSB3_TEXT_DOMAIN), 'essb_register_settings_metabox_optimization', $pt, 'normal', 'high');              
}
if (in_array($pt, $display_in_types)) {
add_meta_box('essb_metabox', __('Easy Social Share Buttons',             ESSB3_TEXT_DOMAIN), 'essb_register_settings_metabox_onoff', $pt, 'side', 'high');          
if (!$turnoff_essb_optimize_box) { add_meta_box('essb_metabox_share',  __('Easy Social Share Buttons: Share Customization', ESSB3_TEXT_DOMAIN),  'essb_register_settings_metabox_customization', $pt, 'normal', 'high');
}           
if (!$turnoff_essb_advanced_box) { add_meta_box('essb_metabox_visual', __('Easy Social Share Buttons: Visual Customization', ESSB3_TEXT_DOMAIN), 'essb_register_settings_metabox_visual', $pt, 'normal', 'high');
}           
if (!$turnoff_essb_stats_box) {
add_meta_box('essb_metabox_stats', __('Easy Social Share Buttons: Stats', ESSB3_TEXT_DOMAIN), 'essb_register_settings_metabox_stats', $pt, 'normal', 'core');
}
}               
}

我在插件中添加了一些自定义 CSS 后发生错误。这是css。

div.essb-profiles.essb-profiles-edge.essb-profiles-size-large {
background-color: rgba(255, 255, 255, 0.9);
margin: 20px 0px;
padding: 6px 0px 1px 10px;
}

css 和插件仍然按照我的预期工作,但我在帖子页面顶部的 wordpress 管理面板中收到错误。在视线的前端根本看不到它,但在管理面板中看起来很难看,并且可能会影响代码的功能。

有谁知道如何解决这个问题?任何帮助将非常感激。

【问题讨论】:

  • 这是哪里? $display_in_types
  • 错误很明显,函数in_array期望第二个参数是一个数组,这意味着你的第二个参数不是一个数组。
  • $display_in_types 设置在这一行 $display_in_types = ESSBOptionValuesHelper::options_value($essb_options, 'display_in_types');
  • @acro 是一个数组吗?
  • 我猜不是,最初我在添加 CSS 之前没有收到错误,但现在它可能需要成为一个数组。这可能解决它吗? $display_in_types = get_post_types(array('show_ui' => true, '_builtin' => true));

标签: php css arrays wordpress plugins


【解决方案1】:

我通过改变这个解决了这个问题:

if (in_array($pt, $display_in_types)); {
  // ...
}

到这里

if (!empty($display_in_types) && in_array($pt, $display_in_types)); {
  // ...
}

【讨论】:

    猜你喜欢
    • 2017-08-26
    • 2016-03-23
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2018-03-23
    • 1970-01-01
    相关资源
    最近更新 更多