※社内専用

PHP8にしたらBiz Calendarでエラーが出る

  • HOME
  • EPRESS-BS
  • PHP8にしたらBiz Calendarでエラーが出る
PHP8にしたらBiz Calendarでエラーが出るときの対処法です。

状況

最終更新が6年前でPHP8の環境ではエラーでインストールできません。
手動で調整してください。

修正方法

PHP8で廃止されたcreate_functionという関数を書き換えます。

/public_html/wp-content/plugins/biz-calendar/biz-calendar.php on line 73
add_action( 'widgets_init', create_function( '', 'register_widget( "bizcalendarwidget" );' ) );
↓変更
add_action( 'widgets_init', function(){register_widget( "bizcalendarwidget" );});

補足

マニュアルからダウンロードできるデータは調整済みです。
これと差し替えてもいいのですが、プラグイン一覧で最新版があるという表示が出てしまうので、テーマの__setting.phpにオリーブカートの更新通知を出さない記述も追加をお願いします。
初期制作のテーマにも追記しています。
// Biz Calendarはカスタムデータのみの使用になるため更新通知を非表示にする
add_filter('site_option__site_transient_update_plugins', 'hide_update_plugin_notice');
function hide_update_plugin_notice($data) {
    $plugin_file = 'biz-calendar/biz-calendar.php';
    if (isset($data->response[$plugin_file])) {
        unset($data->response[$plugin_file]);
    }
    return $data;
}