如何将自定义javascript添加到wordpress functions.php

时间:2013-06-27 16:06:10

标签: php jquery wordpress

我目前需要在我的wordpress函数中添加一些自定义jQuery,我已经通过以下方式添加了jQuery:

add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
   wp_deregister_script('jquery');
   wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", false, null);
   wp_enqueue_script('jquery');
}

我需要添加以下内容:

$(document).ready(function () {
$(".infobfn").append('<a href="#" rel="tooltip" title="<?php echo $variable; ?>"><i class="icon-info-sign"></i></a>');});

我遇到的问题是我无法将其添加到外部.js文件中,因为它包含php变量。

将它留在我的功能中我得到以下内容:

Warning: Cannot modify header information - headers already sent by

我添加了ob_start();这是推荐的。我虽然这样做了,但后来意识到只有一半的页面已经加载了。

我目前没有在我的functions.php中使用php标头,并且还检查了空格。

我有什么想法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你做错了两件事:

  1. 将WP捆绑的jQuery队列出来

  2. 使用不带noConflict模式的jQuery。以下示例是正确的方法:

  3. jQuery(document).ready(function($) {   
        // Now, $ will refer to jQuery
        // Write all your logic inside this block
    });
    

    并且,要解决在Javascript文件中使用PHP变量的问题,请使用wp_localize_script。此函数会将您想要的任何变量传递给正确排队的Javascript文件。

    检查this Answer是否有工作示例。