wp_add_inline_script()

Добавляет дополнительный код в зарегистрированный скрипт
Функция WordPress
INT 4.5.0
WordPress Icon

Описание функции

Функция wp_add_inline_script() используется для добавления дополнительного кода к зарегистрированному скрипту в WordPress.

Она позволяет добавить JavaScript-код прямо внутри тега <script> для определенного скрипта, что полезно, когда требуется добавить дополнительный код, который зависит от этого скрипта.

Например, вы можете использовать эту функцию, чтобы добавить дополнительный JavaScript-код, который будет выполняться после загрузки основного скрипта.

Использование

wp_add_inline_script( string $handle, string $data, string $position = 'after' ): bool;

Функция wp_add_inline_script() принимает три параметра:

  • $handle (обязательный) — Название скрипта, к которому нужно добавить встроенный скрипт.
  • $data (обязательный) — Строка, содержащая JavaScript, который нужно добавить.
  • $position (необязательный) — Определяет, добавлять ли встроенный скрипт перед или после указанного скрипта. По умолчанию ‘after’.

Функция возвращает true в случае успеха и false в случае ошибки.

<?php
/**
 * Добавляет встроенный скрипт к зарегистрированному скрипту.
 *
 * @param string $handle Название скрипта.
 * @param string $data   Строка с JavaScript-кодом.
 * @param string $position (optional) Позиция добавления встроенного скрипта. По умолчанию 'after'.
 * @return bool Возвращает true в случае успеха и false в случае ошибки.
 */
function wp_add_inline_script( $handle, $data, $position = 'after' ) {
    // Проверяем, существует ли зарегистрированный скрипт с указанным $handle.
    if ( wp_script_is( $handle ) ) {
        // Получаем экземпляр класса WP_Scripts.
        $wp_scripts = wp_scripts();
        // Получаем позицию скрипта в очереди.
        $queue_position = $wp_scripts->get_group( $handle, 'queue' );
        // Проверяем, существует ли указанный скрипт в очереди.
        if ( $queue_position ) {
            // Создаем уникальный идентификатор для встроенного скрипта.
            $inline_script_id = 'wp-inline-script-' . md5( $data );
            // Создаем встроенный скрипт.
            $inline_script = "n<script id='{$inline_script_id}'>n{$data}n</script>n";
            // В зависимости от позиции добавляем встроенный скрипт перед или после указанного скрипта.
            if ( 'before' === $position ) {
                $wp_scripts->add_inline_script( $handle, $inline_script, 'before' );
            } else {
                $wp_scripts->add_inline_script( $handle, $inline_script, 'after' );
            }
            return true;
        }
    }
    return false;
}
?>

Примеры использования

Добавление дополнительного кода перед скриптом


/**
 * Добавление дополнительного кода перед скриптом
 */
function add_inline_script_before() {
    // Дополнительный код, который нужно добавить перед скриптом
    $data = 'console.log("This code will be added before the script");';
    // Добавление дополнительного кода перед скриптом с идентификатором 'my-script'
    wp_add_inline_script( 'my-script', $data, 'before' );
}
add_action( 'wp_enqueue_scripts', 'add_inline_script_before' );

Вставка JavaScript после скрипта


/**
 * Вставка JavaScript после скрипта
 */
function add_inline_script_after() {
    // Дополнительный код, который нужно добавить после скрипта
    $data = 'console.log("This code will be added after the script");';
    // Добавление дополнительного кода после скрипта с идентификатором 'my-script'
    wp_add_inline_script( 'my-script', $data );
}
add_action( 'wp_enqueue_scripts', 'add_inline_script_after' );

Использование функции wp_add_inline_script() для добавления кода в зарегистрированный скрипт


/**
 * Использование функции wp_add_inline_script() для добавления кода в зарегистрированный скрипт
 */
function add_inline_script_to_registered_script() {
    // Дополнительный код, который нужно добавить в зарегистрированный скрипт
    $data = 'console.log("This code will be added to the registered script");';
    // Добавление дополнительного кода в зарегистрированный скрипт с идентификатором 'my-registered-script'
    wp_add_inline_script( 'my-registered-script', $data );
}
add_action( 'wp_enqueue_scripts', 'add_inline_script_to_registered_script' );

Изменение позиции вставки кода с помощью параметра position


/**
 * Изменение позиции вставки кода с помощью параметра position
 */
function change_inline_script_position() {
    // Дополнительный код, который нужно добавить после скрипта
    $data = 'console.log("This code will be added after the script");';
    // Добавление дополнительного кода после скрипта с идентификатором 'my-script'
    wp_add_inline_script( 'my-script', $data, 'after' );
}
add_action( 'wp_enqueue_scripts', 'change_inline_script_position' );

Проверка успешности выполнения функции wp_add_inline_script()


/**
 * Проверка успешности выполнения функции wp_add_inline_script()
 */
function check_inline_script_success() {
    // Дополнительный код, который нужно добавить после скрипта
    $data = 'console.log("This code will be added after the script");';
    // Попытка добавления дополнительного кода после скрипта с идентификатором 'my-script'
    $success = wp_add_inline_script( 'my-script', $data );
    // Проверка успешности выполнения функции
    if ( $success ) {
        echo 'Inline script added successfully.';
    } else {
        echo 'Failed to add inline script.';
    }
}
add_action( 'wp_enqueue_scripts', 'check_inline_script_success' );

Вопросы и ответы

Как добавить дополнительный код к зарегистрированному скрипту?

Для добавления дополнительного кода к зарегистрированному скрипту в WordPress используется функция wp_add_inline_script(). Она принимает три обязательных параметра: $handle, $data и $position.

Параметр $handle представляет собой имя скрипта, к которому нужно добавить дополнительный код. Это имя должно быть зарегистрировано с помощью функции wp_register_script() или быть одним из стандартных скриптов WordPress.

Параметр $data содержит сам JavaScript-код, который нужно добавить. Он должен быть передан в виде строки.

Параметр $position определяет, добавлять ли дополнительный код перед или после основного скрипта. Значение по умолчанию — «after», то есть после основного скрипта.


wp_add_inline_script( 'jquery', 'console.log("Hello, World!");' );

Как указать порядок добавления дополнительного кода?

Порядок добавления дополнительного кода определяется параметром $position функции wp_add_inline_script(). Если значение параметра равно «before», то дополнительный код будет добавлен перед основным скриптом. Если значение параметра равно «after» или не указано, то дополнительный код будет добавлен после основного скрипта.


wp_add_inline_script( 'jquery', 'console.log("Hello, World!");', 'before' );

Как проверить успешность выполнения функции?

Функция wp_add_inline_script() возвращает значение типа boolean. В случае успешного выполнения она возвращает true, а в случае ошибки — false. Это позволяет проверить успешность выполнения функции и принять соответствующие меры в случае необходимости.


if ( wp_add_inline_script( 'jquery', 'console.log("Hello, World!");' ) ) {
    echo 'Inline script added successfully.';
} else {
    echo 'Failed to add inline script.';
}

Как использовать функцию wp_add_inline_script() для добавления JavaScript кода?

Функция wp_add_inline_script() используется для добавления дополнительного JavaScript кода к зарегистрированному скрипту в WordPress.

Для использования функции wp_add_inline_script() необходимо передать три параметра: $handle (имя скрипта), $data (строка с JavaScript кодом) и $position (опциональный параметр, указывающий, добавить ли код перед или после скрипта).

Пример использования функции wp_add_inline_script():


wp_add_inline_script( 'jquery', 'console.log("Hello, World!");' );

Как добавить дополнительный код перед зарегистрированным скриптом?

Для добавления дополнительного кода перед зарегистрированным скриптом используйте параметр $position со значением «before».

Пример использования функции wp_add_inline_script() с параметром $position равным «before»:


wp_add_inline_script( 'jquery', 'console.log("Before script!");', 'before' );

Как добавить дополнительный код после зарегистрированного скрипта?

Для добавления дополнительного кода после зарегистрированного скрипта используйте параметр $position со значением «after» (значение по умолчанию).

Пример использования функции wp_add_inline_script() с параметром $position равным «after»:


wp_add_inline_script( 'jquery', 'console.log("After script!");' );

Функция wp_add_inline_script() позволяет добавить дополнительный JavaScript код к зарегистрированному скрипту в WordPress. Она принимает имя скрипта, строку с JavaScript кодом и опциональный параметр для указания позиции добавления кода. Это полезный инструмент для расширения функциональности скриптов и добавления пользовательского кода в WordPress.

Связанные элементы

  • Функция wp_enqueue_script(): Регистрирует скрипт для последующей загрузки на странице.
  • Функция wp_register_script(): Регистрирует скрипт для последующего использования в WordPress.
  • Функция wp_localize_script(): Регистрирует данные JavaScript для использования в скриптах.
  • Функция wp_script_add_data(): Добавляет данные к зарегистрированному скрипту.
  • Функция wp_dequeue_script(): Отменяет регистрацию скрипта, чтобы он не был загружен на странице.
  • Функция wp_deregister_script(): Отменяет регистрацию скрипта, чтобы он не был использован в WordPress.
  • Функция wp_script_is(): Проверяет, зарегистрирован ли указанный скрипт.
  • Хук wp_default_scripts: Позволяет изменять список скриптов, которые загружаются по умолчанию в WordPress.
  • Хук wp_print_scripts: Вызывается при выводе скриптов на странице.
  • Класс WP_Scripts: Отвечает за регистрацию и управление скриптами в WordPress.
Обсуждение