• Всем привет, у меня вопрос, я подключаю в своем плагине стили и js,

    public function onInitJsAction()
    	{
    		$this->onEnqueueJsFileAction('jquery');
    
    		$deleteDiv = $this->onEnqueueJsFileAction(
    			 'deleteDiv',
    			 'delete.js',
    			 'jquery'
    		);
    
    		$addInputs = $this->onEnqueueJsFileAction(
    			 'addInput',
    			 'addInputs.js',
    			 'jquery',
    			  true
    		);
    	} // end onInitJsAction

    Эти функции я наследовал из другого класса, они немного упрощены и работают нормально.
    После чего я их хукаю,

    protected function onBackendInit()
    	{
    		$this->addActionListener('admin_menu', 'themeOptionsPanelAction');
    		$this->addActionListener('admin_print_scripts', 'onInitJsAction');
    		$this->addActionListener('admin_print_styles', 'onInitCssAction');
    	} // end onBackendInit

    Но стили не срабатывают, если на странице с плагином нажать ctrl u, то можно увидеть, что в header эти файлы подключены, но там прописан неполный путь к этим файлам, пожалуйста подскажите, как можно изменить путь на правильный?

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • <?php
    
    function my_scripts_method() {
    	wp_enqueue_script(
    		'custom-script',
                    plugins_url( 'js/custom_script.js', __FILE__ ),
    		array( 'jquery' )
    	);
    }
    
    add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
    
    ?>

    Для плагинов нужно использовать функцию plugins_url, чтобы указывать путь к файлу, а для тем — get_template_directory_uri().

    Ну, вот как я еще пробую подключить,

    protected function onBackendInit()
    	{
    		$this->addActionListener('admin_menu', 'themeOptionsPanelAction');
    		$this->addActionListener('admin_print_scripts', 'onInitJsAction');
    		$this->addActionListener('admin_print_styles', 'onInitCssAction');
    	} // end onBackendInit
    
    	public function onInitJsAction()
    	{
    		$this->onEnqueueJsFileAction('jquery');
    
    		wp_enqueue_script('deleteDiv', plugins_url('delete.js', __FILE__), array('jquery'), '1.0', true);
    
    		wp_enqueue_script('addInput', plugins_url('addInputs.js', __FILE__), array('jquery'), '1.0', true);
    
    	} // end onInitJsAction

    В таком случае оно даже в headere не отображается.

    function my_enqueue($hook) {
        if ( 'edit.php' != $hook ) {
            return;
        }
    
        wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'delete.js' );
    }
    add_action( 'admin_enqueue_scripts', 'my_enqueue' );

    А такой код работает?

    Или такой

    function admin_inline_js(){
    	echo "<script type='text/javascript'>\n";
    	echo 'var pluginUrl = "'.WP_PLUGIN_URL . '/my_plugin/'.'"';
    	echo "\n</script>";
    }
    add_action( 'admin_print_scripts', 'admin_inline_js' );

    Это примеры из справки, он должны по-идее работать.

    Видишь ли в чем проблема, оно подключает мои файлы, но там прописан неверный путь.
    Если нажать на странице ctrl u, то модно увидеть, что в header там подключен этот файл, но там прописан такой путь:

    <script type='text/javascript' src='//host.ho.ua/wp-content/plugins/wordpress-linkbuilder/static/js/delete.js?ver=4.0'></script>

    а должен быть:

    <script type='text/javascript' src='//host.ho.ua/htdocs/wordpress/wp-content/plugins/wordpress-linkbuilder/static/js/delete.js?ver=4.0'></script>

    Как мне можно изменить этот путь?

    А почему он должен быть такой? Она выдает нормально, сравните с примером.

    http://codex.wordpress.org/Function_Reference/plugin_dir_url

    Ну да, там тоже такой путь.
    В таком случае я совсем не пойму, почему ни css ни jQuery, не работает?

    Это другой вопрос, зависит от того, что там написано…

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Открываются ли файлы по прямой ссылке (той, которая в атрибуте src)?

    Нет, пишет что такой страницы нету, но путь к фалу прописан верно.
    В чем может быть дело?

    Нет, пишет что такой страницы нету, но путь к фалу прописан верно.
    В чем может быть дело?

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

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Не получается подключить css и js» закрыта для новых ответов.