在 jQuery attr 中使用 wp_localize_script 图像路径

这是我的 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 输出返回 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' ) ) ) );


jeck猫
浏览 95回答 1
1回答

慕尼黑8549860

wp_localize_script需要三个参数。$handle: 脚本处理数据将附加到。$object_name: 这是将在您的 javascript 文件中访问的变量。$data:要传递给对象的数据数组在您的 jQuery 代码中,您将 Image 作为字符串而不是变量来访问。您的 JS 代码需要更改为:&nbsp;$(&nbsp;'.div&nbsp;img'&nbsp;).attr(&nbsp;'src',&nbsp;obj_name.image&nbsp;);您的 PHP 代码应如下所示:$image = sprintf('%s/image.png', get_stylesheet_directory_uri());wp_localize_script('scroll-image', 'obj_name', array(&nbsp; &nbsp; "image" => $image));
打开App,查看更多内容
随时随地看视频慕课网APP