我正在转换我的静态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");
我如何调用in JQuery?TYIA
发布于 2019-01-28 22:38:40
您可以使用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 );
这里
theme_script
是我们在wp_enqueue_script上使用的javascript WordPress句柄的名称。themeObj
是JavaScript变量的名称,我们将使用它从JavaScript文件访问php数据。$phpData
是我们希望服务的数据数组。现在可以使用logo_dark文件中的themeObj.logo_dark
来访问JS值。
$("img").attr("src", themeObj.logo_dark);
有关更多信息,请访问wordpress代码库
发布于 2019-01-28 22:30:55
$("img").attr("src","<?php bloginfo('template_url') ?>images/logo-light.png")
发布于 2019-01-28 22:33:43
这可能会造成以下情况:
$("img").attr("src","<?php bloginfo('template_url'); ?>/images/logo-light.png");
https://stackoverflow.com/questions/54415049
复制相似问题