Не могу использовать скалярное значение как массив в моем PHP - PullRequest
0 голосов
/ 20 апреля 2019

Я только начал изучать PHP и использую WordPress. Я вставил этот код, но в нем что-то не так. Отображается предупреждающее сообщение: невозможно использовать скалярное значение в качестве массива. Ребята, можете ли вы помочь мне с этим. Это довольно раздражает, когда я вижу предупреждение о добавлении нового продукта под таблицей данных продукта.

О, сейчас я использую PHP 7.1.

Я пытался исправить это с помощью PHP checker и поиска в поисковой системе, но, поскольку я новичок, я не смог найти ничего, что могло бы помочь.

/**
     * Localizes a script, only if the script has already been added.
     *
     * @since 2.1.0
     *
     * @param string $handle      Name of the script to attach data to.
     * @param string $object_name Name of the variable that will contain the data.
     * @param array  $l10n        Array of data to localize.
     * @return bool True on success, false on failure.
*/

    public function localize( $handle, $object_name, $l10n ) {
    if ( $handle === 'jquery' ) {
        $handle = 'jquery-core';
    }

    if ( is_array( $l10n ) && isset( $l10n['l10n_print_after'] ) ) { // back compat, preserve the code in 'l10n_print_after' if present.
        $after = $l10n['l10n_print_after'];
        unset( $l10n['l10n_print_after'] );
    }

    foreach ( (array) $l10n as $key => $value ) {
        if (! is_scalar( $value ) ) {
            continue;
        }

        $l10n[ $key ] = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
    }

    $script = "var $object_name = " . wp_json_encode( $l10n ) . ';';

    if ( ! empty( $after ) ) {
        $script .= "\n$after;";
    }

    $data = $this->get_data( $handle, 'data' );

    if ( ! empty( $data ) ) {
        $script = "$data\n$script";
    }

    return $this->add_data( $handle, 'data', $script );
}

Просто хочу, чтобы предупреждающее сообщение больше не появлялось.

Заранее спасибо

...