在特定页面的头部添加脚本标签

时间:2017-01-29 作者:Ciasto piekarz

我刚刚添加了一个新页面,该页面需要一些javascript来提取json(使用setInterval)并在该页面div标记中显示内容,在挖掘时我发现我们可以在主题/标题中添加script标记。php文件。

但这意味着它可能会加载所有页面或博客,但我只想加载特定页面的javascript。

function debug_to_console( $data ) {
    if ( is_array( $data ) )
        $output = "<script>console.log( \'Debug Objects: " . implode( \',\', $data) . "\' );</script>";
    else
        $output = "<script>console.log( \'Debug Objects: " . $data . "\' );</script>";
    echo $output;
}

function loadJScriptforAho(){
        if  ( $post->ID == 75){
        debug_to_console( "Testing" );
        }
}
add_action( \'wp_enqueue_scripts\', \'loadJScriptforAho\' );
上述代码添加到函数中。php,但不起作用

我想这可能是可能的,但如果有人可以分享如何做到这一点,请让我知道。

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

一个简单的谷歌搜索可以帮助你做到这一点,同样的问题之前已经得到了回答,你可以看到answer here.

在您的functions.php 为此,请执行以下操作:

function load_scripts() {
    global $post;
    wp_register_script( \'home\', get_template_directory_uri() . \'/js/home.js\', array(\'jquery\'));
    wp_register_script( \'about\', get_template_directory_uri() . \'/js/about.js\', array(\'jquery\'));
    wp_register_script( \'somepost\', get_template_directory_uri() . \'/js/somepost.js\', array(\'jquery\'));

    if( is_page() || is_single() )
    {
        switch($post->post_name) 
        {
            case \'home\':
                wp_enqueue_script(\'home\');
                break;
            case \'about\':
                wp_enqueue_script(\'about\');
                break;
            case \'some-post\':
                wp_enqueue_script(\'somepost\');
                break;
        }
    } 
}

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

SO网友:Syed Abuthahir M

WordPress有实现这一点的钩子。。每个页面都有一个唯一的ID(postID) 这在页面中全局可用。

global $post;
If( $post->ID = 22 ) {
// Your code
}

SO网友:user112049

根据页面的设置方式,您可以通过几种方式来实现这一点。

1) 页面模板:

如果已将页面模板分配给该特定页面,则可以使用以下标记:

<?php if ( is_page_template(\'TEMPLATE FILE NAME\') ) { ?>
    <!-- CONTENT GOES HERE -->
<?php } ?>
2)页面ID:

就像上面建议的那样,您可以通过页面ID来执行此操作,但我会执行稍微不同的操作:

<?php if ( is_page(\'ID OF PAGE GOES HERE\') ) { ?>
    <!-- CONTENT GOES HERE -->
<?php } ?>
让我知道你进展如何。。。

相关推荐

Why won't my scripts load?

在函数中加载脚本时遇到问题。php我以前做过这件事,所以我肯定我忽略了一些东西,但就我所知,这是正确的,我尝试过从其他答案中复制和粘贴。我没有收到任何控制台错误。我的任何脚本都没有加载到源代码中。感谢您的帮助。functions.php/*SCRIPTS*/ add_action( \'wp_enqueue_scripts\', \'theme_js\' ); function theme_js(){ wp_register_script( \