Php 在WooCommerce归档页面中的产品标题下添加自定义字段值
在WooCommerce中,我想将自定义文本添加到我的产品显示中,这些文本将从产品编辑页面的自定义字段中获取 这就是它现在的样子: 您可以在下面看到标题为的产品: 我想在每个产品下面添加一个文本,用蓝色笔标记: 我已设法找到一些自定义php代码,以便在产品页面中添加自定义字段,如下所示: 这是我的代码:Php 在WooCommerce归档页面中的产品标题下添加自定义字段值,php,wordpress,woocommerce,product,custom-fields,Php,Wordpress,Woocommerce,Product,Custom Fields,在WooCommerce中,我想将自定义文本添加到我的产品显示中,这些文本将从产品编辑页面的自定义字段中获取 这就是它现在的样子: 您可以在下面看到标题为的产品: 我想在每个产品下面添加一个文本,用蓝色笔标记: 我已设法找到一些自定义php代码,以便在产品页面中添加自定义字段,如下所示: 这是我的代码: // Display Fields add_action('woocommerce_product_options_general_product_data', 'woocomme
// Display Fields
add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields');
// Save Fields
add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save');
function woocommerce_product_custom_fields()
{
global $woocommerce, $post;
echo '<div class="product_custom_field">';
// Custom Product Text Field
woocommerce_wp_text_input(
array(
'id' => '_custom_product_text_field',
'placeholder' => 'Custom Product Text Field',
'label' => __('Custom Product Text Field', 'woocommerce'),
'desc_tip' => 'true'
)
);
}
function woocommerce_product_custom_fields_save($post_id)
{
// Custom Product Text Field
$woocommerce_custom_product_text_field = $_POST['_custom_product_text_field'];
if (!empty($woocommerce_custom_product_text_field))
update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field));
}
//显示字段
添加操作(“woocommerce\u product\u options\u general\u product\u data”、“woocommerce\u product\u custom\u fields”);
//保存字段
添加操作('woocommerce\u process\u product\u meta'、'woocommerce\u product\u custom\u fields\u save');
功能商业\产品\自定义\字段()
{
全球$woocmerce,$post;
回声';
//自定义产品文本字段
woocommerce_wp_text_输入(
排列(
'id'=>''自定义\产品\文本\字段',
'占位符'=>'自定义产品文本字段',
“标签”=>“(“自定义产品文本字段”,“woocommerce”),
“描述提示”=>“正确”
)
);
}
功能商业\产品\自定义\字段\保存($post\u id)
{
//自定义产品文本字段
$woocommerce\u custom\u product\u text\u field=$\u POST[“custom\u product\u text\u field]”;
如果(!空($WOOMerce\u custom\u product\u text\u field))
更新发布meta($post_id,''u custom_product_text_field',esc_attr($woocommerce_custom_product_text_field));
}
但我不知道如何将自定义字段连接到产品的显示,
因此,自定义字段的文本将显示在产品标题下方
如何显示产品标题下的自定义字段更新: 尝试此自定义挂钩函数,它将在产品标题下显示自定义字段值:
add_action( 'woocommerce_after_shop_loop_item_title', 'custom_field_display_below_title', 2 );
function custom_field_display_below_title(){
global $product;
// Get the custom field value
$custom_field = get_post_meta( $product->get_id(), '_custom_product_text_field', true );
// Display
if( ! empty($custom_field) ){
echo '<p class="my-custom-field">'.$custom_field.'</p>';
}
}
add_action('woocommerce_在_shop_loop_项目_标题后,'custom_字段_显示_标题下,'2');
函数自定义\u字段\u显示\u标题()下的\u{
全球$产品;
//获取自定义字段值
$custom_field=get_post_meta($product->get_id(),'u custom_product_text_field',true);
//展示
如果(!空($custom_字段)){
echo“”.$custom_field.
”;
}
}
代码进入活动子主题(或活动主题)的function.php文件
它应该可以工作。对于任何试图实现此功能的人,函数woocommerce\u product\u custom\u fields()中缺少结束div。添加回显“”;在结束方括号之前,否则产品设置中的所有其他产品数据选项卡都将为空。如果您试图使用此代码,结束div需要:
echo'代码>
否则echo'代码>保持打开状态。请尝试使用一些代码改进您的答案。它将对未来的用户更有用。