امیر مقدم
2 سال پیش توسط امیر مقدم مطرح شد
4 پاسخ

نمایش گارانتی قیمت تایم

سلام وقت بخیر دوستان گرامی کسی میدونه من چطوری میتونم به بخش محصولات ایتمی اضافه کنم با محتویات
گارانتی
قیمت
تایم
در صفحه محصول به عنوان افزودنی اضافه بشه و مشتری با انتخاب مورد مبلغ اصل محصول تغییر کنه
از افزونه نمیخوام استفاده کنم چون محصولات زیاد و از ویرایشگر گروهی نمیتونم استفاده کنم ولی یه چند خطی کد نوشتم و بخش اول گارانتی اوردم ولی 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  
}  
}

ثبت پرسش جدید
مرتضی واعظی
تخصص : توسعه دهنده وب
@MortezaVaezi 2 سال پیش مطرح شد
0

پاسخ توسط 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>';
    }
}

این کد، بخش‌های قیمت و تایم را نیز به محصول اضافه می‌کند و مقادیر وارد شده برای هر کدام را نمایش می‌دهد. با این حال، شما همچنان باید بخش‌های قیمت و تایم را در فرم ایجاد/ویرایش محصول در داشبورد وردپرس خود وارد کنید. این کار را می‌توانید با ورود به صفحه ویرایش محصول در داشبورد و سپس پایین صفحه ویرایش، در بخش "فیلدهای سفارشی" انجام دهید.

با این تغییرات، بخش‌های گارانتی، قیمت و تایم به صفحه محصول اضافه خواهند شد و با انتخاب محصول، مقادیر مربوطه نمایش داده می‌شوند.


امیر مقدم
@AMIRRf 2 سال پیش مطرح شد
0

ممنون از چاسخ ولی 2 تا مشکل هست 1 این که در صفحه محصول نمایش نمیده قیمت و تایم
2 اگر بخوایم چند تا گارانتی اضافه کنید و مشتری انتخاب کنه امکان پذیر نیست و فقط یک گارانتی قابل ثبت
3 به مبلغ کل محصول افضایشی پیدا نمیکنه
اگر این مورد حتی اگر پروژ] ای انجام بدین هزینش مشکلی نیست باتشکر


امیر مقدم
@AMIRRf 2 سال پیش مطرح شد
0

.warranty_wrapper.time_wrapper.price_wrapper::before {
content: "\f2f7"
}
حتی فراخانی هم انجام شده ولی نمایش نمیده


مرتضی واعظی
تخصص : توسعه دهنده وب
@MortezaVaezi 2 سال پیش مطرح شد
0

متاسفانه من تا آخر این ماه وقتم پر هست.
روند کار هم خارج از چند خط کده و من در اینجا هم شرمندتون هستم. چون مشخصن توی صفحه هر محصول باید یکسری کد ها هم IMPORT بشه و...
موفق باشید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام