WP_Error无法在shortcodes.php中转换为字符串

时间:2017-06-05 17:18:34

标签: wordpress

我的shortcodes.php文件中出现错误

  

可捕获的致命错误:第345行的/public_html/wp-includes/shortcodes.php中无法将类WP_Error的对象转换为字符串

以下是第345行的代码

    $output = $m[1] . call_user_func( $shortcode_tags[ $tag ], $attr, $content, $tag ) . $m[6];

以下是该块的代码,包括上面的代码.function do_shortcode_tag($ m){     global $ shortcode_tags;

// allow [[foo]] syntax for escaping a tag
if ( $m[1] == '[' && $m[6] == ']' ) {
    return substr($m[0], 1, -1);
}

$tag = $m[2];
$attr = shortcode_parse_atts( $m[3] );

if ( ! is_callable( $shortcode_tags[ $tag ] ) ) {
    /* translators: %s: shortcode tag */
    $message = sprintf( __( 'Attempting to parse a shortcode without a valid callback: %s' ), $tag );
    _doing_it_wrong( __FUNCTION__, $message, '4.3.0' );
    return $m[0];
}

/**
 * Filters whether to call a shortcode callback.
 *
 * Passing a truthy value to the filter will effectively short-circuit the
 * shortcode generation process, returning that value instead.
 *
 * @since 4.7.0
 *
 * @param bool|string $return      Short-circuit return value. Either false or the value to replace the shortcode with.
 * @param string      $tag         Shortcode name.
 * @param array       $attr        Shortcode attributes array,
 * @param array       $m           Regular expression match array.
 */
$return = apply_filters( 'pre_do_shortcode_tag', false, $tag, $attr, $m );
if ( false !== $return ) {
    return $return;
}

$content = isset( $m[5] ) ? $m[5] : null;

$output = $m[1] . call_user_func( $shortcode_tags[ $tag ], $attr, $content, $tag ) . $m[6];

/**
 * Filters the output created by a shortcode callback.
 *
 * @since 4.7.0
 *
 * @param string $output Shortcode output.
 * @param string $tag    Shortcode name.
 * @param array  $attr   Shortcode attributes array,
 * @param array  $m      Regular expression match array.
 */
return apply_filters( 'do_shortcode_tag', $output, $tag, $attr, $m );

}`

0 个答案:

没有答案