Есть ли альтернативный способ поставить скрипты в очередь в wordpress?

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

popup_plugin
   |---- assets\
            |---css\
                 |--- styles.css

И структура js такая же, как и выше

Вот код, который я пытаюсь использовать. Я использую одноэлементный шаблон для создания экземпляра класса.

add_action( 'plugins_loaded', array(SMARTPOPUP::getInstance(), 'init') );
class SMARTPOPUP
{
    private static $instance = null;
    public function init(){
        add_action('wp_enqueue_scripts', array($this, 'frontEndAssets'));
    }
    public function frontEndAssets(){
        wp_enqueue_style( 
            'wpsgdprcss', 
            plugin_dir_url( __FILE__ ) . 'assets/css/styles.css', 
            array() 
        );
        wp_enqueue_script( 
            'wpsgdprjs', 
            plugin_dir_url( __FILE__ ) . 'assets/js/scripts.js', 
            array(),
            false 
        );
        $localizedata = array(
            'ajaxurl'       => admin_url('admin-ajax.php'),
            'noncesecure'   => wp_create_nonce(WP_SMART_GDPR_SLUG),
        );
        wp_localize_script( 'wpsgdprjs', 'wpsgdprdata', $localizedata );
    }
    public static function getInstance(){
        if (!isset(self::$instance)){
            self::$instance = new self();
        }
        return self::$instance;
    }
}

Ваш js поставлен в очередь успешно?

dipmala 30.05.2018 14:43

@dipmala нет! ничего

Tick Twitch 30.05.2018 14:55

Я думал, что ваш код должен работать, поэтому я протестировал его, и он действительно работает. Я только изменил WP_SMART_GDPR_SLUG на «WP_SMART_GDPR_SLUG», поскольку вы, вероятно, забыли включить определение для него.

user8717003 30.05.2018 15:51
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
427
3

Ответы 3

попробуйте ниже код

add_action( 'plugins_loaded', array(SMARTPOPUP::getInstance(), 'init') );
class SMARTPOPUP
{
    private static $instance = null;
    public function init(){
        add_action('wp_enqueue_scripts', array($this, 'frontEndAssets'));
    }
    public function frontEndAssets(){
        wp_enqueue_style( 'wpsgdprcss');
        wp_register_script('wpsgdprcss',plugin_dir_url( __FILE__ ) . 'assets/css/styles.css',array() );
        wp_register_script( 'wpsgdprjs',plugin_dir_url( __FILE__ ) . 'assets/js/scripts.js',array(),false );
        wp_enqueue_script( 'wpsgdprjs');
        $localizedata = array(
            'ajaxurl'       => admin_url('admin-ajax.php'),
            'noncesecure'   => wp_create_nonce(WP_SMART_GDPR_SLUG),
        );
        wp_localize_script( 'wpsgdprjs', 'wpsgdprdata', $localizedata );
    }
    public static function getInstance(){
        if (!isset(self::$instance)){
            self::$instance = new self();
        }
        return self::$instance;
    }
}

вы можете удалить весь код из js и получить простое предупреждение в этом файле? для css вы можете удалить все css и добавить простой css в тело, а затем проверить. Я думаю, что теперь есть проблема с вашим скриптом, но не уверен

A Shah 30.05.2018 15:49
function custom_plugin_enqueue() {
    wp_enqueue_style( 'wpsgdprcss', plugin_dir_url( __FILE__ ) . 'assets/css/styles.css' ); 
    wp_enqueue_script( 'wpsgdprjs', plugin_dir_url( __FILE__ ) . 'assets/js/scripts.js' );
}
add_action('wp_enqueue_scripts', 'custom_plugin_enqueue');

Я думал, твой код должен работать, вот и протестировал. В частности, я проверил следующее:

<?php /*
Plugin Name: Junk
*/
add_action( 'plugins_loaded', array(SMARTPOPUP::getInstance(), 'init') );
class SMARTPOPUP
{
    private static $instance = null;
    public function init(){
        add_action('wp_enqueue_scripts', array($this, 'frontEndAssets'));
    }
    public function frontEndAssets(){
        wp_enqueue_style( 
            'wpsgdprcss', 
            plugin_dir_url( __FILE__ ) . 'assets/css/styles.css', 
            array() 
        );
        wp_enqueue_script( 
            'wpsgdprjs', 
            plugin_dir_url( __FILE__ ) . 'assets/js/scripts.js', 
            array(),
            false 
        );
        $localizedata = array(
            'ajaxurl'       => admin_url('admin-ajax.php'),
            'noncesecure'   => wp_create_nonce('WP_SMART_GDPR_SLUG'),
        );
        wp_localize_script( 'wpsgdprjs', 'wpsgdprdata', $localizedata );
    }
    public static function getInstance(){
        if (!isset(self::$instance)){
            self::$instance = new self();
        }
        return self::$instance;
    }
}

Это сгенерировало следующие элементы стиля и скрипта:

<link rel='stylesheet' id='wpsgdprcss-css'  href='http://localhost/wp-content/plugins/junk/assets/css/styles.css?ver=4.9.6' type='text/css' media='all' />

<script type='text/javascript'>
/* <![CDATA[ */
var wpsgdprdata = {"ajaxurl":"http://localhost/wp-admin/admin-ajax.php","noncesecure":"8b77af0183"};
/* ]]> */
</script>
<script type='text/javascript' src='http://localhost/wp-content/plugins/junk/assets/js/scripts.js?ver=4.9.6'></script>

Единственное изменение, которое я сделал, это то, что я заменил WP_SMART_GDPR_SLUG на «WP_SMART_GDPR_SLUG», поскольку вы, вероятно, забыли включить определение для него.

В самом вашем коде нет ничего плохого.

Вы уверены, что ваш код выполняется?

Я не думаю, что это важно, но я использую WordPress версии 4.9.6 с использованием PHP 7.1.17.

Другие вопросы по теме