【问题标题】:How call php variable in Jquery如何在 Jquery 中调用 php 变量
【发布时间】:2019-01-29 14:44:16
【问题描述】:

我正在将我的静态 Html 网站转换为 wordpress,但有些图片没有显示。 这是因为我使用 Jquery 来更改图像的“src”。 现在在我的 index.php 中,我在每个图像 src 中添加了 bloginfo('template_url')。我的问题是我不知道如何在 Jquery 中调用它。

在我的 php 代码中是这样的

  <img src="<?php bloginfo('template_url'); ?>/images/logo-dark.png">

在我的 JS 代码中我像这样访问它

$("img").attr("src","images/logo-light.png");

如何在 JQuery 中调用? TYIA

【问题讨论】:

  • 试试$("img").attr("src","&lt;?php bloginfo('template_url'); ?&gt;images/logo-light.png");

标签: php jquery wordpress


【解决方案1】:
$("img").attr("src","<?php bloginfo('template_url') ?>images/logo-light.png")

【讨论】:

    【解决方案2】:

    您可以使用wp_localize_script,它允许您访问 JavaScript 文件中的 php 数据。

    首先使用wp_enqueue_script注册您的脚本

    wp_enqueue_script( 'theme_script', get_template_directory_uri() . '/assets/js/code.js', array( 'jquery' ), '', true );
    

    然后将你的 php 变量注册到 code.js 文件中。

    $phpData = array(
        'logo_dark' => get_template_directory_uri()."/images/logo-dark.png",
    );
    wp_localize_script( 'theme_script', 'themeObj', $phpData );
    

    这里

    1. theme_script 是您的 javascript WordPress 句柄的名称,它 我们在 wp_enqueue_script 上使用过。
    2. themeObj 是我们将使用的 JavaScript 变量的名称 从 JavaScript 文件访问我们的 php 数据。
    3. $phpData 是我们希望提供的数据数组。

    现在可以使用 JS 文件中的themeObj.logo_dark 访问 logo_dark 值。

    $("img").attr("src", themeObj.logo_dark);
    

    欲了解更多信息,请查看wordpress codex

    【讨论】:

      【解决方案3】:

      这可能会:

      $("img").attr("src","<?php bloginfo('template_url'); ?>/images/logo-light.png");
      

      【讨论】:

      • 它显示 作为文本
      【解决方案4】:

      如果您想在 .php 文件中的 jQuery 块中使用 php 函数,那么您可以使用 @vaibhav 和 @elraphty 指出的代码

      $("img").attr("src","<?php bloginfo('template_url'); ?>/images/logo-light.png");
      

      如果你想在 .js 文件中使用它,那么你需要在 head 标签中分配一个变量

      <script>
         var baseImgurl =  '<?php bloginfo('template_url'); ?>';
      </script>
      

      然后在.js文件中使用

      $("img").attr("src",baseImgurl+"/images/logo-light.png");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-01
        • 2023-03-26
        相关资源
        最近更新 更多