Почему wp_enqueue_style здесь не работает? - PullRequest
0 голосов
/ 05 сентября 2018

Я разрабатываю тему на WordPress. Мои index.php и style.css находятся в одной папке, в корне каталога темы. Мои css файлы находятся в папке "css", мои js файлы находятся в папке "js". Я хочу добавить CSS и JS в индекс (со стилем / сценарием wp enqueue) в файле functions.php

add_action( 'wp_enqueue_scripts', 'add_stylesheet' );
function add_stylesheet() {
    wp_register_style('style', get_template_directory_uri() . '/style.css');
    wp_register_style('plugins', get_template_directory_uri() . '/css/plugins.css');
    wp_register_style('nav', get_template_directory_uri() . '/css/navigation-menu.css');
    wp_register_style('shortcode', get_template_directory_uri() . '/css/shortcodes.css');
    wp_enqueue_style('style');
    wp_enqueue_style('plugins');
    wp_enqueue_style('nav');
    wp_enqueue_style('shortcode');
}

Но это не работает. Я пробовал с условием «если», я пробовал только с помощью функции wp_enqueue_style (и многих других решений, которые я нашел в Google), но ни одно из этих действий не работает. Я понятия не имею, в чем проблема.

Вот скриншот дерева файлов

Редактировать: он не работает, так как в CSS нет ссылок на файлы php, он показывает простой текст HTML. Если я открою инструменты разработки, он не отобразит свойства CSS.

Вот так

Спасибо!

1 Ответ

0 голосов
/ 05 сентября 2018

Основное различие между wp_enqueue_ * и соответствующими функциями wp_register_ * заключается в том, что первый добавляет сценарии / стили в очередь, а второй готовит сценарии / стили для добавления.

Вам нужно переместить действие добавления после функции, и она будет работать:

function add_stylesheet() {
    wp_register_style('style', get_template_directory_uri() . '/style.css');
    wp_register_style('plugins', get_template_directory_uri() . '/css/plugins.css');
    wp_register_style('nav', get_template_directory_uri() . '/css/navigation-menu.css');
    wp_register_style('shortcode', get_template_directory_uri() . '/css/shortcodes.css');
    wp_enqueue_style('style');
    wp_enqueue_style('plugins');
    wp_enqueue_style('nav');
    wp_enqueue_style('shortcode');
}
add_action( 'wp_enqueue_scripts', 'add_stylesheet' );

Обновленный ответ ниже:

Почему бы просто не ставить в очередь стили вместо регистрации, а затем ставить их в очередь, например:

function theme_scripts()
{
    wp_enqueue_style('style', get_template_directory_uri() . '/style.css');

wp_enqueue_style ('style', get_template_directory_uri (). 'Wp_enqueue_style (' plugins ', get_template_directory_uri ().' /Style.css');');

}

add_action('wp_enqueue_scripts', 'theme_scripts');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...