如果不是页面模板,则将脚本入队

时间:2020-05-14 作者:Sam

我在函数中使用以下代码。php:

if ( !is_page_template( \'page-full-width.php\' ) ) {
    wp_enqueue_script( \'flickity-js\', get_template_directory_uri() . \'/js/flickity.js\', array(), filemtime( get_stylesheet_directory() . \'/js/flickity.js\' ), true );
}
我在等剧本not 如果页面模板设置为page-full-width.php. 当我检查前端时,脚本仍然存在。

我做错了什么?

1 个回复
SO网友:AcidBurn

您需要将其作为函数传递,或者您已经有了但没有复制整个代码?如果你没有这样做,它应该是这样的

function page_template_not_enqueue() {
   if ( !is_page_template( \'page-full-width.php\' ) ) {
    wp_enqueue_script( \'flickity-js\', get_template_directory_uri() . \'/js/flickity.js\', 
array(), filemtime( get_stylesheet_directory() . \'/js/flickity.js\' ), true );
}
}

add_action(\'wp_enqueue_scripts\', \'page_template_not_enqueue\');
is\\u page\\u template函数将不起作用如果您没有将页面定义为Wordpress模板,您可以阅读here, 简而言之,您的页面模板需要从以下内容开始

<?php
/*
Template Name: Page Full Width
Template Post Type: page
*/
// Page code here...
如果这仍然不起作用,您可以尝试使用全局$template var获取模板名称,我还没有尝试第二个选项,我建议您使用我在上面发布的评论将页面模板设置为自定义单词模板,但如果我尝试另一种方法,我可能会尝试这样做

   function page_template_not_enqueue() {
       global $template

       if ( basename( $template ) === \'page-full-width.php\' ) {
        wp_enqueue_script( \'flickity-js\', get_template_directory_uri() . \'/js/flickity.js\', 
    array(), filemtime( get_stylesheet_directory() . \'/js/flickity.js\' ), true );
    }
    }

    add_action(\'wp_enqueue_scripts\', \'page_template_not_enqueue\');

相关推荐

初学者问题:通过管理Web界面访问Functions.php以导入自定义帖子类型?

是否可以访问这些功能。php文件仅仅使用管理web界面?我正在尝试访问以前创建的(手动编码的)自定义帖子类型,我不得不跳过很多障碍,因为我无法访问函数中的代码。php文件。我已经浏览了很多帮助页面,但建议的步骤似乎总是涉及到函数。php文件(我无法访问)或使用插件中的导入/导出工具,该插件首先创建了自定义帖子类型(据我所知,没有使用任何插件)。这似乎是一个非常基本的问题,但我一辈子都想不出来。任何帮助都将不胜感激!