gpt4 book ai didi

php - 在 WooCommerce 单个产品中显示产品属性列表的简码

转载 作者:行者123 更新时间:2023-12-04 08:44:47 39 4
gpt4 key购买 nike

所以我一直在努力寻找关于这方面的任何信息,但看不到任何明显的做法。我想在产品说明中有一个表格,列出我设置的某些属性。
因此,例如在描述中,我会在标题 A 后跟一些文本和一个具有属性 1、2 和 3 的表格,然后在标题 B 下有一些文本和属性 4、5 和 6。
我认为做到这一点的简单方法是创建一个短代码,所以我尝试过但显然错过了一些重要的东西,因为当我使用它时它根本没有显示任何东西。

add_action( 'woocommerce_single_product_summary', 'show_attribute_group_a', 45 );

add_shortcode( 'show_attributes_a', 'show_attribute_group_a' );
function show_attribute_group_a() {
global $product;
$attribute1 = $product->get_attribute('attribute1');
$attribute2 = $product->get_attribute('attribute2');
?>
<table class="">
<tr class="">
<th class="">Attribute 1</th>
<td class=""><?php echo $attribute1; ?></td>
</tr>
<tr class="">
<th class="">Attribute 2</th>
<td class=""><?php echo $attribute2; ?></td>
</tr>
</table>
<?php
}
那么我在哪里尝试提取我使用过的属性的slug的属性是正确的吗?但是,即使那部分是错误的,我仍然希望看到一张空 table 。显然有一些根本性的错误,我看不出是什么。

最佳答案

构建短代码时,输​​出永远不会回显而是返回。请尝试以下操作:

// The shortcode
add_shortcode( 'show_attributes_a', 'attribute_group_a_shortcode' );
function attribute_group_a_shortcode() {
global $product;

$attribute1 = $product->get_attribute('attribute1');
$attribute2 = $product->get_attribute('attribute2');
$output_html = ''; // Initializing

if ( ! empty($attribute1) || ! empty($attribute2) ) {
$output_html .= '<table class="">';

if ( ! empty($attribute1) ) {
$output_html .= '<tr class="">
<th class="">' . __("Attribute 1", "woocommerce") . '</th>
<td class="">' . $attribute1 . '</td>
</tr>';
}

if ( ! empty($attribute2) ) {
$output_html .= '<tr class="">
<th class="">' . __("Attribute 2", "woocommerce") . '</th>
<td class="">' . $attribute2 . '</td>
</tr>';
}

$output_html .= '</table>';
}
return $output_html; // Always use "return" in a shortcode, never use "echo"
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。

现在您可以使用短码 [show_attributes_a]在产品描述或简短描述的文本编辑器中,在单个产品页面上显示产品属性的自定义表。
或者您可以使用以下代码在产品选项卡之前显示产品属性的自定义表:
// Display the shortcode output in Single product pages
add_action( 'woocommerce_single_product_summary', 'display_table_attribute_group_a', 45 );
function display_table_attribute_group_a() {
echo do_shortcode('[show_attributes_a]');
}
代码位于事件子主题(或事件主题)的 functions.php 文件中。测试和工作。

关于php - 在 WooCommerce 单个产品中显示产品属性列表的简码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64381691/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com