0

我目前需要在我的 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 标头,并且还检查了空格。

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

4

1 回答 1

0

你做错了两件事:

  1. 出队 WP 捆绑的 jQuery

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

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

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

检查此答案以获取工作示例。

于 2013-07-06T19:00:54.640 回答