确定产品属于什么类别并显示图像。 - 如何清理此 PHP 代码?
Determine what category product belongs to and show image. - How to clean up this PHP code?
对于我的 Woocommerce 商店,我在产品页面中插入了一些 PHP 代码来显示图片。下面的代码有效,但是维护性很强而且很长。我现在有 83 个用于 elseif 的....
我知道这可以做得更好、更干净、更快。
可能使用 foreach 左右。问题是,图像的名称还包含产品名称,这会有所不同。所以,基本上,1) 我需要确定类别名称(已解决),2) 产品名称和 3) 调用名为“productname-categoriename.png”
的图像
有人可以帮我重现这段代码吗?
<?php
if ( is_product() && has_term( 'category-name', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-categoryname.png"></div>';
}
elseif ( is_product() && has_term( 'category-name-2', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-categoryname-2.png"></div>';
}
elseif ( is_product() && has_term( 'category-name-83', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-category-name-83.png"></div>';
} else {
echo "";
}
?>
您会得到很多不同的答案,但这里有一种方法:
<?php
if (is_product()) {
$productName = $product->get_name();
// however you get the category name
$categoryName = '';
$iconName = "{$productName}-{$categoryName}.png";
$output = '<div class="logo"><img src="https://www.website.com/logo/' . $iconName . '"></div>'
}
echo $output ?? '';
您需要遵守已应用于 png 文件的命名约定。
对于我的 Woocommerce 商店,我在产品页面中插入了一些 PHP 代码来显示图片。下面的代码有效,但是维护性很强而且很长。我现在有 83 个用于 elseif 的.... 我知道这可以做得更好、更干净、更快。
可能使用 foreach 左右。问题是,图像的名称还包含产品名称,这会有所不同。所以,基本上,1) 我需要确定类别名称(已解决),2) 产品名称和 3) 调用名为“productname-categoriename.png”
的图像有人可以帮我重现这段代码吗?
<?php
if ( is_product() && has_term( 'category-name', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-categoryname.png"></div>';
}
elseif ( is_product() && has_term( 'category-name-2', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-categoryname-2.png"></div>';
}
elseif ( is_product() && has_term( 'category-name-83', 'product_cat' ) ) {
echo '<div class="logo"><img src="https://www.website.com/logo/productname-category-name-83.png"></div>';
} else {
echo "";
}
?>
您会得到很多不同的答案,但这里有一种方法:
<?php
if (is_product()) {
$productName = $product->get_name();
// however you get the category name
$categoryName = '';
$iconName = "{$productName}-{$categoryName}.png";
$output = '<div class="logo"><img src="https://www.website.com/logo/' . $iconName . '"></div>'
}
echo $output ?? '';
您需要遵守已应用于 png 文件的命名约定。