在wordpress模板

时间:2017-05-17 15:44:02

标签: javascript php jquery wordpress

我有一个页面模板,它应用于我的wordpress页面上的特定页面。通常对于我的所有其他脚本,我把它们放在我的footer.php中,然后它们从那里漂亮地加载。在这个特定的页面上虽然我想加载一个只应该在这个页面上运行的脚本。所以在我的模板中,我将它包括在内:

<?php
/**
* Template Name: Template
*/
?>
<?php get_header(); ?>

<script src="<?php echo get_template_directory_uri(); ?>/js/teacher-signup.js"></script>

<?php get_footer( ); ?>

不幸的是,当我这样做时,我只会收到如下错误:

  

未捕获的TypeError:$(...)。无论什么都不是函数

Wordpress中是否有某种方法只在特定模板上包含几个脚本?或者我错过了什么?

提前致谢

2 个答案:

答案 0 :(得分:1)

您可以在某些页面ID /页面slug中进行条件 is_page() ,例如

<?php if (is_page( 1 )) : ?>
<script src="<?php echo get_template_directory_uri(); ?>/js/teacher-signup.js"></script>
<?php endif; ?>

你可以把它放在你的footer.php主题

答案 1 :(得分:1)

像wp建议那样注册脚本:

wp_register_script('your_file_name', get_template_directory_uri() . '/assets/js/some_file.js', false, null, true);

将该特定页面/模板的注册脚本排入队列

if (is_page('page_name') ) {
        wp_enqueue_script('your_file_name');

        }

如果需要,您还可以为页面模板名称添加条件:

if (is_page_template("template_name.php')