Как удовлетворить Scrutinizer при создании переменной javascript с помощью wp_localize_script ()

Я использую Bitbucket и настроен Scrutinizer для анализа кода при загрузке. Он жалуется на то, что переменная не была объявлена, и это наносит ущерб классификации кода.

Переменная txtVars, кажется, никогда не объявляется. Если это глобальный,
рассмотрите возможность добавления / ** global: txtVars * / comment.

Это имеет смысл для меня, так как я использую переменную в моем jQuery без ее объявления каким-либо образом, кроме как в моем файле WordPress functions.php:

txtVars вводится со следующим PHP:

wp_enqueue_script( 'my-script',
MY_URL . 'assets/js/public.js',
array('jquery', 'heartbeat'),
MY_VERSION,
true
);

$vars = array(
'confirm_submit'       => __( 'Submit', 'textdomain' ),
'confirm_cancel'       => __( 'Cancel', 'textdomain' )
);

wp_localize_script( 'my-script', 'txtVars', $vars );

Это позволяет мне использовать txtVars в скрипте jQuery:

confirm(txtVars.confirm_submit);

Я пытался объявить txtVars несколько разных способов в jQuery, но это не помогает, выдает ошибку, или txtVars заканчивается пустым.

Есть ли способ объявить эту переменную в jQuery для удовлетворения средств проверки кода, которые ожидают, что переменные будут объявлены?

1

Решение

Я считаю, что сообщение об ошибке говорит вам более или менее о том, что должно произойти, но иногда детали (например, размещение в файле) могут быть неуловимыми.

Чтобы решить это, на Топ вашего файла сценария, даже до вашего jQuery, добавьте этот комментарий:

/** global: txtVars */
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]