Php 在WooCommerce归档页面中的产品标题下添加自定义字段值

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

在WooCommerce中,我想将自定义文本添加到我的产品显示中,这些文本将从产品编辑页面的自定义字段中获取

这就是它现在的样子:

您可以在下面看到标题为的产品:

我想在每个产品下面添加一个文本,用蓝色笔标记:

我已设法找到一些自定义php代码,以便在产品页面中添加自定义字段,如下所示:

这是我的代码:

    // 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'保持打开状态。

请尝试使用一些代码改进您的答案。它将对未来的用户更有用。