wordpress中的每个帖子都有不同的javascript

时间:2017-07-21 06:54:30

标签: javascript wordpress

可以在指定帖子的头部制作不同的javascript吗? 例如:

帖子号码1包含另一个javascript而不是帖子号码2。 我在谈论wordpress。

谢谢!

3 个答案:

答案 0 :(得分:0)

我强烈建议您使用 Child Theme ,以便修改header.php文件。
使用is_page()函数,您可以将不同的脚本块分配给不同的页面。

如果您正在寻找sinlge帖子,可以使用 is_single()

答案 1 :(得分:0)

是的,有很多方法可以做到。

最简单的方法之一是通过检查当前页面是X还是Y模板/页面来修改将在functions.php中加载的CSS和JS文件。

示例:

function load_scripts_and_styles() {
    // only load the CSS if the page is X or Y page
    if( is_singular() ) {
       wp_enqueue_style( 'bootstrap_css', get_template_directory_uri() . '/libraries/bootstrap-3.3.7-dist/css/bootstrap.min.css', array(), '3.3.7' );
    }
    wp_enqueue_script( 'bootstrap_js', get_template_directory_uri() . '/libraries/bootstrap-3.3.7-dist/js/bootstrap.min.js', array( 'jquery' ), '3.3.7', true );
}
add_action( 'wp_enqueue_scripts', 'load_scripts_and_styles' );

答案 2 :(得分:0)

方法1: 你可以检测帖子ID并根据它获取javascript。

$currentPID = get_the_ID();
 <?php if ($currentPID != "false"): ?>
<!--home page custom JS-->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/scripts/<?php echo $currentPId ?>.js"></script>
<!-- will get scripts/2.js if the post id is 2 and scripts/3.js if post id is 3 ......-->
<?php endif; ?> 

如果存在,则get_the_ID将post id作为整数返回,否则返回false。

替代方法:

也可以使用预定义的Wordpress函数,如is_page()和is_single()来检测帖子并根据它们添加javascript。 例如 -

<?php if (is_single( '2' )): ?>
<!--home page custom JS-->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/scripts/post2.js"></script>
<?php endif; ?>

或检测页面

<?php if (is_page('home')): ?>
 <!--home page custom JS-->
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/Scripts/homepage.js"></script>
<?php endif; ?>

记住所有代码都进入标题,无论文件夹中是否存在自定义javascript,网页都会发送额外的HTTP请求