簡體   English   中英

如何將Javascript添加到Wordpress中的每個非管理頁面?

[英]How do I add Javascript to every non-admin page in Wordpress?

我有一個插件,以前只需要在內容頁面上加載Javascript。 換句話說,代碼add_filter('the_content', 'insert_js'); 足夠了。 現在,我希望將Javascript插入到不是管理頁面或搜索結果頁面的每個頁面中,我想知道是否有一個快捷方式過濾器名稱,或者是否必須列出所有過濾器。 我也只希望將Javascript添加到頁面一次。 如果我必須添加幾行add_filter()行,那很好,但是我仍然不確定它們需要是什么。 我查閱了《插件API /過濾器參考》文檔( http://codex.wordpress.org/Plugin_API/Filter_Reference ),這似乎模棱兩可。 我也嘗試過使用the_category等等,但都無濟於事。 我還試圖弄清楚如何在首頁上加載Javascript。 我包含的Javascript不是靜態的,需要基於運行時已知的WP特定屬性(例如URL)生成。 任何幫助,將不勝感激。 謝謝。

使用add_action將腳本添加到特定的掛鈎。 通常, wp_head用於將腳本添加到head部分,而wp_footer用於將腳本添加到footer部分。 檢查以下代碼:

<?php

function add_this_script_footer(){ ?>
    <script type="text/javascript">
        [YOUR JS CODE HERE]
    </script>
<?php } 

add_action('wp_footer', 'add_this_script_footer'); ?>

或者,您可以使用wp_enqueue_script()添加外部腳本,如下所示:

<?php
function my_scripts_method() {
  wp_enqueue_script(
    'custom-script', // handle
    get_template_directory_uri() . '/js/custom_script.js', // src
    array( 'jquery' ) // dependencies
  );
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
?>

您可以在http://codex.wordpress.org/Function_Reference/wp_enqueue_script上找到有關wp_enqueue_scripts更多詳細信息

進一步@itskawsar的回答; 您可以將wp_enqueue_script()函數包裝成一個條件,以確保它們僅在非管理頁面上加載:

<?php
function my_scripts_method() {
    if (!is_admin()) {
        wp_enqueue_script(
        'custom-script', // handle
        get_template_directory_uri() . '/js/custom_script.js', // src
        array( 'jquery' ) // dependencies   
        );
    }
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM