在 jQuery 属性中使用 wp_localize_script 图片路径

Using wp_localize_script image path in jQuery attr

这是我的 PHP 代码,用于在 WordPress 子主题中使用 wp_localize_script 加载我的 jQuery 和图像。

$image = sprintf( '%s/image.png', get_stylesheet_directory_uri() );    
wp_localize_script( 'scroll-image', 'Image', $image ) ) ) );

这是我的 jQuery

 $( '.div img' ).attr( 'src', 'Image' );

但是 HTML 输出 returns wp_localize_script 的第二个参数没有图像的完整路径。

<img src="Image">

我错过了什么?

为什么我需要在 jQuery 中包含图像的完整路径,而它已经包含在 $image 变量的 PHP 中?

我确实检查了 但我不明白为什么必须这样做,因为图像标签已经使用其他 PHP 代码输出。我想做的就是替换图片 src URL.

更新:如果我想像这样使用图像作为选项怎么样

wp_localize_script( 'scroll-image', 'Image', array( 'src' => str_replace( 'http:', '', get_option( 'my-image' ) ) ) );

wp_localize_script 接受三个参数。

  • $handle:数据将附加到的脚本句柄。
  • $object_name:这是你将要访问的变量 javascript 文件。
  • $data:要传递给对象的 数组 数据

在您的 jQuery 代码中,您以字符串而非变量的形式访问图像。

你的JS代码需要改成这样:

 $( '.div img' ).attr( 'src', obj_name.image );

您的 PHP 代码应如下所示:

$image = sprintf('%s/image.png', get_stylesheet_directory_uri());
wp_localize_script('scroll-image', 'obj_name', array(
    "image" => $image
));