首页 > 解决方案 > create_function() 已弃用。WordPress设置页面错误

问题描述

我有一个用于 WordPress 设置的函数,create_function()但是当我将服务器更新到 PHP7.2 时,它说该函数已被弃用。

我不知道用什么替代品。

代码

if ( isset( $section['desc'] ) && ! empty( $section['desc'] ) ) {
  $section['desc'] = '<div class="inside">' . $section['desc'] . '</div>';
  $callback = create_function( '', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";' );
} elseif ( isset( $section['callback'] ) ) {
  $callback = $section['callback'];
} else {
  $callback = null;
}

标签: phpwordpress

解决方案


只需创建一个匿名函数用作回调:

您的线路:

$callback = create_function( '', 'echo "' . str_replace( '"', '\"', $section['desc'] ) . '";' );

可以替换为:

$callback = function() use($section) { echo str_replace ('"', '\"', $section['desc']); };

推荐阅读