create_function()已弃用。 WordPress设置页面错误

时间:2018-11-30 08:00:39

标签: php wordpress

我有一个使用create_function()的WordPress设置功能,但是当我将服务器更新为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;
}

1 个答案:

答案 0 :(得分:3)

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

您的行:

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

可以替换为:

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