سلام وقت بخیر دوستان گرامی کسی میدونه من چطوری میتونم به بخش محصولات ایتمی اضافه کنم با محتویات
گارانتی
قیمت
تایم
در صفحه محصول به عنوان افزودنی اضافه بشه و مشتری با انتخاب مورد مبلغ اصل محصول تغییر کنه
از افزونه نمیخوام استفاده کنم چون محصولات زیاد و از ویرایشگر گروهی نمیتونم استفاده کنم ولی یه چند خطی کد نوشتم و بخش اول گارانتی اوردم ولی 2 بخش باقی مونده اگر راهنمایی کنید ممنون میشم
کد نوشته شده
//dinajawarrantymetabox
addaction( 'cmb2admininit', 'dinajawarrantymetabox' );
function dinajawarranty*metabox() {
$prefix = 'dinaja*';
$product_warranty = new_cmb2_box( array(
'id' => $prefix . 'product_warranty_meta_box',
'title' => 'گارانتی محصول',
'object_types' => array( 'product' ),
'priority' => 'high',
) );
$product_warranty->add_field( array(
'name' => 'گارانتی محصول',
'id' => $prefix. 'product_warranty',
'type' => 'text',
) );
}
addaction('woocommerceproductmetastart', 'dinajaproductwarranty', 12);
function dinajaproductwarranty() {
$productwarranty = getpostmeta( gettheID(), 'dinajaproductwarranty', true );
if( ! empty( $productwarranty ) ) {
?>
<span class="warrantywrapper">گارانتی محصول:
<span class="product-warranty"><?php echo $productwarranty; ?></span>
</span>
<?php
}
}
پاسخ توسط Chat GPT داده شده است.
سلام! برای افزودن بخشهای محصولات مثل گارانتی، قیمت و تایم به صفحه محصول، شما باید کدهای مربوط به هر بخش را به قالب ووکامرس خود اضافه کنید. در کدی که ارسال کردهاید، فقط بخش گارانتی پیادهسازی شده است و بخشهای دیگری که ذکر کردهاید هنوز پیادهسازی نشدهاند.
برای افزودن بخش قیمت و تایم به محصول، شما باید همان الگویی که برای بخش گارانتی استفاده کردهاید را تکرار کنید و مقادیر مورد نظرتان را به آنها اضافه کنید. میتوانید از همان روش استفاده کنید و دو فیلد دیگر به کد اضافه کنید:
//dina_ja_warranty_metabox
add_action( 'cmb2_admin_init', 'dina_ja_warranty_metabox' );
function dina_ja_warranty_metabox() {
$prefix = 'dinaja';
$product_warranty = new_cmb2_box( array(
'id' => $prefix . 'product_warranty_meta_box',
'title' => 'گارانتی محصول',
'object_types' => array( 'product' ),
'priority' => 'high',
) );
$product_warranty->add_field( array(
'name' => 'گارانتی محصول',
'id' => $prefix. 'product_warranty',
'type' => 'text',
) );
$product_price = new_cmb2_box( array(
'id' => $prefix . 'product_price_meta_box',
'title' => 'قیمت محصول',
'object_types' => array( 'product' ),
'priority' => 'high',
) );
$product_price->add_field( array(
'name' => 'قیمت محصول',
'id' => $prefix. 'product_price',
'type' => 'text',
) );
$product_time = new_cmb2_box( array(
'id' => $prefix . 'product_time_meta_box',
'title' => 'تایم محصول',
'object_types' => array( 'product' ),
'priority' => 'high',
) );
$product_time->add_field( array(
'name' => 'تایم محصول',
'id' => $prefix. 'product_time',
'type' => 'text',
) );
}
add_action('woocommerce_product_meta_start', 'dina_ja_product_meta', 12);
function dina_ja_product_meta() {
$product_warranty = get_post_meta( get_the_ID(), 'dinaja_product_warranty', true );
$product_price = get_post_meta( get_the_ID(), 'dinaja_product_price', true );
$product_time = get_post_meta( get_the_ID(), 'dinaja_product_time', true );
if( ! empty( $product_warranty ) ) {
echo '<span class="warranty_wrapper">گارانتی محصول: <span class="product-warranty">' . $product_warranty . '</span></span>';
}
if( ! empty( $product_price ) ) {
echo '<span class="price_wrapper">قیمت محصول: <span class="product-price">' . $product_price . '</span></span>';
}
if( ! empty( $product_time ) ) {
echo '<span class="time_wrapper">تایم محصول: <span class="product-time">' . $product_time . '</span></span>';
}
}
این کد، بخشهای قیمت و تایم را نیز به محصول اضافه میکند و مقادیر وارد شده برای هر کدام را نمایش میدهد. با این حال، شما همچنان باید بخشهای قیمت و تایم را در فرم ایجاد/ویرایش محصول در داشبورد وردپرس خود وارد کنید. این کار را میتوانید با ورود به صفحه ویرایش محصول در داشبورد و سپس پایین صفحه ویرایش، در بخش "فیلدهای سفارشی" انجام دهید.
با این تغییرات، بخشهای گارانتی، قیمت و تایم به صفحه محصول اضافه خواهند شد و با انتخاب محصول، مقادیر مربوطه نمایش داده میشوند.
ممنون از چاسخ ولی 2 تا مشکل هست 1 این که در صفحه محصول نمایش نمیده قیمت و تایم
2 اگر بخوایم چند تا گارانتی اضافه کنید و مشتری انتخاب کنه امکان پذیر نیست و فقط یک گارانتی قابل ثبت
3 به مبلغ کل محصول افضایشی پیدا نمیکنه
اگر این مورد حتی اگر پروژ] ای انجام بدین هزینش مشکلی نیست باتشکر
.warranty_wrapper.time_wrapper.price_wrapper::before {
content: "\f2f7"
}
حتی فراخانی هم انجام شده ولی نمایش نمیده
متاسفانه من تا آخر این ماه وقتم پر هست.
روند کار هم خارج از چند خط کده و من در اینجا هم شرمندتون هستم. چون مشخصن توی صفحه هر محصول باید یکسری کد ها هم IMPORT بشه و...
موفق باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟