在webpack wordpress开发中资产的php文件中可以动态路径吗?

时间:2019-05-02 11:58:10

标签: wordpress webpack path

我有一个主题wordpress开发文件夹( theme / resources / assets )用于开发,而 theme / assets 用于生产。当我创建header.php并添加:

img src=”?php echo get_template_directory_uri();
?>/assets/images/code.png”

在开发模式下,图像不显示。它仅在构建后有效。在开发人员模式下,路径必须为 /resources/assets/images/code.png

该如何解决?如何动态更改Wordpress PHP文件中的路径?有可能吗?

2 个答案:

答案 0 :(得分:1)

您可能应该从

修复代码
img src=”?php echo get_template_directory_uri();
?>/assets/images/code.png”

收件人:

<img src="<?php echo get_template_directory_uri();?>/assets/images/code.png" />

要检测环境,可以使用内置的WP_DEBUG constant并根据需要调整路径:

<img src="<?php
  echo get_template_directory_uri() . (WP_DEBUG ? '/resources' : '');
?>/assets/images/code.png" />

答案 1 :(得分:0)

您可以使用站点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语句,并且ourput将相同。