首页 > 解决方案 > 如何仅在自定义帖子类型的单个和存档页面上将脚本和样式排入队列?

问题描述

我有一个名为 and 的自定义Movies帖子single-movies.php类型archive-movies.php。如何仅将这些页面的 CSS 和脚本排入队列?

if ( is_single('Custom Post Type') ) {
 // Enqueue  scripts and Styles
}

标签: wordpresswordpress-theming

解决方案


既然您已经有自定义 PHP 文件,为什么不直接在这些文件中加入脚本呢?

文件内容

<?php
    add_action( 'wp_enqueue_scripts', 'enqueue_movie_scripts' );
    function enqueue_movie_scripts(){
        wp_enqueue_style( 'my-movie-style', /* src to .css file */ );
        wp_enqueue_script( 'my-movie-script', /* src to .js file */ );
    }

    // Rest of the file here, `get_header(), content, get_footer(), etc.
 ?>

或者,如果您希望将它们从您的functions.php或插件文件中排入队列,则可以使用is_singular()andis_post_type_archive()函数。

add_action( 'wp_enqueue_scripts', 'so_50916971_enqueue_scripts' );
function so_50916971_enqueue_scripts(){
    if( is_singular( 'movies' ) || is_post_type_archive( 'movies' ) ){
        wp_enqueue_style( 'my-movie-style', /* src to .css file */ );
        wp_enqueue_script( 'my-movie-script', /* src to .js file */ );
    }
}

推荐阅读