我使用以下代码来显示包含当前产品页面中的一些信息的模式:
function visualizer_modal() {
if(!is_product()) {
return;
}
global $product;
?>
<div class="visualizer-modal">
<div class="modal-header">
<button type="button" class="close">×</button>
<h4 class="modal-title">Customize & Buy</h4>
</div>
<div class="modal-body">
<img
src="<?php wp_get_attachment_url($product->get_id()) ?>"
alt="<?php $product->get_name() ?> image" />
</div>
</div>
<?php
}
它是从使用下面这行代码创建按钮的函数中调用的:
add_action('wp_footer', [$this, 'visualizer_modal']);
然而,我没有收到任何产品信息.我只从alt
属性中得到了破碎的图像图标和单词"图像".我以前试过使用print_footer_scripts
而不是wp_footer
,但我得到了同样的结果.我也使用了wp_get_attachment_image_src
来try 获取产品图像,但这也不起作用,也解释不了为什么我无法在alt
中获取产品名称.
我刚开始为WordPress和WooCommerce进行开发,所以我不确定为什么$product
不能给我任何东西.是不是因为我是在产品模板之后从页面的页脚调用它?或者这里还发生了其他什么事?
注意:对于上面的代码块,我将img
标记全部放在一行上,我只是在这里将其分开,以使其更具可读性.