在 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
));
这是我的 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 中?
我确实检查了
更新:如果我想像这样使用图像作为选项怎么样
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
));