Как я могу загрузить пользовательскую таблицу стилей в Wordpress для пользовательских типов записей? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть пользовательский тип записи, и я хотел бы загрузить таблицу стилей только для этого пользовательского типа записи.

Я попытался загрузить это из представления шаблона для пользовательского типа сообщения.Поэтому я попытался поместить его в single-joiner.php.Кроме того, я попытался поместить его в functions.php.

wp_enqueue_style( 'style-joiner', get_template_directory() . '/style-joiner.css' );

По сути, у меня есть множество пользовательских типов записей, и я хочу запустить разные таблицы стилей для каждого.Может ли кто-нибудь указать мне правильное направление?

1 Ответ

1 голос
/ 23 мая 2019

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

Внутри вашей функции постановки в очередь вы должны иметь возможность проверять текущий тип записи, используя функцию is_singular() или ссылаясь на глобальное значение $post->post_type.

add_action( 'wp_enqueue_scripts', 'enqueue_frontend_assets', 10 );
function enqueue_frontend_assets(){
    if( is_singular( 'joiner' ) ){
        wp_enqueue_style( 'style-joiner', get_stylesheet_directory_uri() . '/style-joiner.css' );
    }
}

Вы могли бы сделать еще один шаг и проверить текущий тип записи, проверить, существует ли файл style-{post_type}.css, и затем поставить в очередь, если он есть, - но если у вас просто один тип записи, вышеуказанная функция должна быть достаточно, чтобы начать.

edit: Прошу прощения, я раньше не замечал, но вы используете функцию get_template_directory(). Это возвращает абсолютный системный путь , а не URI. Вы захотите использовать функции get_template_directory_uri() или get_stylesheet_directory_uri() для возврата URI.

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