نمایش قیمت محصولات ووکامرس بر اساس ID محصول

3.7 / 5. تعداد رای: 3

نمایش قیمت محصولات ووکامرس بر اساس ID محصول

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

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

نمایش قیمت محصول در دکمه خرید
نمایش قیمت محصول در دکمه خرید

ID محصول ووکامرس چیست؟

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

نمایش قیمت محصولات ووکامرس بر اساس شناسه محصول

حالا که آیدی محصولات را پیدا کردیم. وقت آن شده تا قیمت محصول را بر اساس این آیدی نمایش دهیم.

برای اینکار باید یک تابع جدید در وردپرس ایجاد کنید. این تابع یک شورت کد سفارشی برای شما ایجاد می‌کند و در نهایت با استفاده از شورت کد می‌توانید قیمت را در سایت یا قالب سایت خود نمایش دهید. پس شروع می‌کنیم.

دسترسی به فایل توابع وردپرس

ابتدا باید وارد فایل functions.php قالب سایتتان شوید. برای دسترسی به این فایل ابتدا وارد فایل منیجر هاست خود شده و سپس وارد مسیر wp-content/themes شوید و نام قالب سایتتان را انتخاب کنید. فایل توابع یا functions.php در این پوشه قرار دارد.

اضافه کردن تابع به فایل فانکشن قالب

حالا یک تابع بسازیم. برای اینکار باید یک قطعه کد به فایل فانکشن قالب سایتتان اضافه کنید. البته بعد از <?php به این شکل:

//Get Woocommerce Price By ID MihanWP
function mihanwp_get_price( $atts ) {
    $atts = shortcode_atts( array(
        'id' => null,
    ), $atts, 'bartag' );

    $html = '';

    if( intval( $atts['id'] ) > 0 && function_exists( 'wc_get_product' ) ){
         $_product = wc_get_product( $atts['id'] );
         $html = "" . $_product->get_price();
    }
    return $html;
}
add_shortcode( 'woocommerce_price', 'mihanwp_get_price' );

استفاده از شورت کد ساخته شده

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

[woocommerce_price id="1"]

یعنی اگر این شورت کد را روی سایت‌تان استفاده کنید قیمت محصول را با وارد کردن آیدی به شما نمایش خواهد داد. البته باید به جای عدد ۱ آیدی مورد نظر خود را که در بخش اول پیدا کردید، وارد کنید.

نمایش قیمت محصول در قالب سایت

اگر می‌خواهید قیمت را در قالب سایتتان نمایش دهید پس کافیست با استفاده از آموزش نمایش شورت کد در قالب وردپرس، اینکار را انجام دهید.

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U321101 ۱۶ بهمن ۱۴۰۱

    سلام وقتتون بخیر
    میخوام محصولاتم بر اساس شناسشون در کاروسل محصولات نمایش داده بشن افزونه ای رو میشناسید بهم معرفی کنید یا کدی که بتونم ازش استفاده کنم؟

  2. U252053 ۲۰ آبان ۱۴۰۰

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

  3. U25731 ۲ شهریور ۱۴۰۰

    با سلام و عرض ادب
    من یه فانکشن در فایل فانکشن قالب نوشتم که برای عملیاتی که براش تعریف کردم نیاز داره آیدی 71 محصول رو بگیره کد به صورت زیر است:
    function update () {
    $loop = new WP_Query($args=array(‘post_type’=>’product’,’posts_per_page’=>71,’orderby’=>’id’));

    while($loop->have_posts()) : $loop->the_post(); global $product;
    $pid = $post->ID;
    $product = wc_get_product($pid);
    .
    .
    .
    .
    این کد در هر فایلی از سایت درست عمل میکنه ولی در فایل فانکشن نمیتونه آی دی محصولات رو بگیره
    ممنون میشم راهنمایی کنید چه باید کرد
    با سپاس…

  4. U13705 ۲۵ خرداد ۱۴۰۰

    سلام وقت بخیر
    بنده این کد رو قرار دادم متاسفانه نشد
    احتراما کد آماده میخوام که فقط آی دی محصول رو تغییر بدم
    و دکمه خرید عین اونی که شما بالا قرار دادید باشه
    یعنی قیمت محصول و خرید و دانلود داخل دکمه نوشته شده باشه
    نه افزودن به سبد خرید
    ممنون از میهن وردپرس

    • Reza Rad رضا راد ۲۷ خرداد ۱۴۰۰

      درود بر شما برای اینکار باید از get price استفاده کنیدو همچنین لینک به سبد خرید به ‌صورت add to cart به شکلی که ما قرار دادیم.

  5. U22157 ۱۲ تیر ۱۳۹۸

    سلام ببخشید افزونه ای موجود هست بشه بصورت اتوماتیک ووکامرس رو به edd یا بالعکس تبدیل کنه

  6. کاربر مهمان ۲۵ خرداد ۱۳۹۸

    سلام خسته نباشید
    ببخشید من ووکامرس نصب کردم یه مشکل دارم میخوام قیمت محصول توی نتایج جستجوی گوگل نشون نشده فقط نام محصول و توضیحات نشون بده
    دیتاهایلایتر هم کار نمیکنه

  7. کاربر مهمان ۳۱ فروردین ۱۳۹۸
  8. کاربر مهمان ۲۹ فروردین ۱۳۹۸

    سلام
    نمونه اجرا شده دارید ازش؟
    کاربردش چه چیزهایی میتونه باشه؟
    تشکر از سایت خوبتون

    • Reza Rad رضا راد ۲۹ فروردین ۱۳۹۸

      سلام مثل صفحه محصولات خودمون می‌تونید توی دکمه خرید یا هر جای دیگری قیمت رو نمایش بدید.