2014-10-27 3 views
2

Я преобразовал тему начальной загрузки в Wordpress. Теперь у меня проблема с загрузкой скриптов и стиля загрузки. Это мой код в functions.phpКак загрузить скрипт и стиль загрузки в функции.php (wordpress)?

function wpbootstrap_scripts_with_jquery() 
    { 

     // Register the script like this for a theme: 
     wp_register_script('custom-script', get_template_directory_uri() . '/js/bootstrap.js', array('jquery')); 
     wp_enqueue_script('samplejs', get_template_directory_uri() . '/js/jquery.min.js', array('')); 
      wp_enqueue_script('samplejs', get_template_directory_uri() . '/js/clean-blog.min.js', array('')); 
     // For either a plugin or a theme, you can then enqueue the script: 
     wp_enqueue_script('custom-script'); 
    } 

add_action('wp_enqueue_scripts', 'wpbootstrap_scripts_with_jquery'); 

и я добавить это в моем заголовке

<?php wp_enqueue_script("jquery"); ?> 

Дополнительный вопрос: В чем разница между wp_register и wp_enqueue? Пожалуйста, помогите мне. Im начинающий в использовании бутстрапа.

ответ

5

Все, что вам нужно сделать, это обмануть их. Кроме того, я рекомендую избавиться от импорта jquery (второй wp_enqueue). WordPress по умолчанию включает jQuery, и вы уже включаете его в первый скрипт (потому что вы указали его как зависимость). Вот пример, но это ставит в очередь JQuery дважды (нативный JQuery и бутстраповское JQuery):

function wpbootstrap_scripts_with_jquery() 
{ 
    // Register the script like this for a theme: 
    wp_enqueue_script('custom-script', get_stylesheet_directory_uri() . '/js/bootstrap.js', array('jquery')); 
    wp_enqueue_script('bootstrap-jquery', get_stylesheet_directory_uri() . '/js/jquery.min.js'); 
    wp_enqueue_script('blog-scripts', get_stylesheet_directory_uri() . '/js/clean-blog.min.js'); 
} 

add_action('wp_enqueue_scripts', 'wpbootstrap_scripts_with_jquery'); 

Единственной причиной, вы должны зарегистрировать скрипт до Епдиеего-ки их, является ли один из сценариев является зависимостью. Из документов:

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

Сценарии, которые были предварительно зарегистрированные с помощью wp_register_script() делать не нужно вручную помещён с помощью wp_enqueue_script(), если они в списке зависимостей другого сценария, который помещается в очередь. WordPress автоматически включит зарегистрированный скрипт, прежде чем он включит скрипт, установленный в очередь, который перечисляет дескриптор зарегистрированного скрипта как зависимость .

+0

большое спасибо @rnevius :) как насчет стилей? – akselrows

+0

Я отредактировал свой ответ с большим количеством объяснений. Для статичных стилей вы можете включить их таким же образом в пределах той же функции, используя 'wp_enqueue_style'. – rnevius

+0

Хм. Ive попробовал код, но эффект все еще не работает. – akselrows

2

Вы используете «wp_enqueue_style» и «wp_enqueue_script».

, например:

function reg_scripts() { 
    wp_enqueue_style('bootstrapstyle', get_template_directory_uri() . '/css/bootstrap.min.css'); 
    wp_enqueue_style('bootstrapthemestyle', get_template_directory_uri() . '/css/bootstrap-theme.min.css'); 
    wp_enqueue_script('bootstrap-script', get_template_directory_uri() . '/js/bootstrap.min.js', array(), true); 
} 
add_action('wp_enqueue_scripts', 'reg_scripts'); 
+0

thanks @elnaz :) actulally его работает сейчас, но контактная форма 7 не работает из-за конфликта jquery. пожалуйста, помогите мне решить эту проблему. – akselrows

Смежные вопросы