在自定义帖子类型存档页面上将脚本入队

时间:2016-05-24 作者:Gregory Schultz

如果用户位于自定义帖子类型的存档页面上,我如何在标题上将脚本排队?调用自定义帖子类型limitedrun 该页面被称为archive-limitedrun.php.

我尝试了这个,但没有得到回应:

function opby_theme() {
wp_register_script(\'responsive-img\', get_template_directory_uri() .\'/js/responsive-img.min.js\', array(\'jquery\'));
wp_enqueue_script(\'responsive-img\');
wp_enqueue_style( \'opby\', get_stylesheet_uri() );
wp_register_style(\'googleFonts\', \'https://fonts.googleapis.co/css?family=Roboto+Slab:400,100|Bitter\');
wp_enqueue_style( \'googleFonts\');
if (is_singular(\'limitedrun\') ) {
wp_register_style(\'ltd-run-font\', \'https://fonts.googleapis.com/css?family=Roboto:100,500\');
wp_enqueue_style( \'ltd-run-font\');
}
}
add_action( \'wp_enqueue_scripts\', \'opby_theme\' );  

3 个回复
最合适的回答,由SO网友:Max Yudin 整理而成

您可以通过不使用wp_register_scriptwp_register_style 当你不需要它们的时候。wp_enqueue_stylewp_enqueue_script 在不涉及过多功能的情况下,自己做同样的工作。

以下是最新的更简单、可读性更强的代码,以及@vancoder接受的答案:

<?php
function opby_theme()
{
    wp_enqueue_script(
        \'responsive-img\',
         get_template_directory_uri() .\'/js/responsive-img.min.js\',
         array(\'jquery\')
    );

    wp_enqueue_style(
        \'opby\',
        get_stylesheet_uri()
    );

    wp_enqueue_style(
        \'googleFonts\',
        \'https://fonts.googleapis.co/css?family=Roboto+Slab:400,100|Bitter\'
    );

    if ( is_post_type_archive(\'limitedrun\') ) {
        wp_enqueue_style(
            \'ltd-run-font\',
            \'https://fonts.googleapis.com/css?family=Roboto:100,500\'
        );
    }
}
add_action( \'wp_enqueue_scripts\', \'opby_theme\' );

SO网友:vancoder

is_singular 不处理档案。

尝试

is_post_type_archive( \'limitedrun\' );

SO网友:Leon

您可以使用template_redirect 动作钩就是为了这个。

这个钩子是WordPress知道用户正在查看哪些模板的地方,并在加载模板文件之前被触发。

下面是一个示例,其中仅为后期存档加载样式表:

`

// Call the hook and register your function
add_action( \'template_redirect\', \'register_styles_for_post_archive\' );

// Call your function which enqueues the stylesheet only for the post archive
function register_styles_for_post_archive() {

// put in your post type as a parameter or leave empty for the actual post type
    if ( is_post_type_archive( $post_types ) ) {
        wp_enqueue_style(\'your-custom-stylesheet-name\', \'your-css-file.css\', false, 01, \'screen\');

    }
}
`

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register