我有一个主题WordPress开发文件夹(主题/Resources/Assets (,用于生产和主题/资产用于生产。当我创建header.php
并添加时:
img src=”?php echo get_template_directory_uri();
?>/assets/images/code.png”
在开发模式下,图像不会显示。它仅在构建后起作用。在开发模式下,路径必须为/resources/assets/images/code.png
我如何解决这个问题?我如何在WordPress PHP文件中动态更改路径?有可能吗?
您可能应该从
中修复代码img src=”?php echo get_template_directory_uri();
?>/assets/images/code.png”
to:
<img src="<?php echo get_template_directory_uri();?>/assets/images/code.png" />
用于检测环境,您可以使用内置的WP_DEBUG
常数并根据需要调整路径:
<img src="<?php
echo get_template_directory_uri() . (WP_DEBUG ? '/resources' : '');
?>/assets/images/code.png" />
您可以使用网站URL检查其生产或开发网站并根据以下方式返回资产URL:
<?php
$site_url = get_site_url();
if($site_url == 'http://http://stage.example.com'){
// Staging site assets url
$assets_url = get_template_directory_uri() . '/resources/assets';
}else{
// Live site assets url
$assets_url = get_template_directory_uri() . '/assets';
}
?>
<img src="<?php echo $assets_url; ?>/images/code.png" />
可以通过更改条件以不同的方式使用相同的代码,如果您有更好的比较方式而不是网站URL,则可以更改IF语句,并且我们的usput相同。