نمایش قیمت محصولات ووکامرس بر اساس 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"]
یعنی اگر این شورت کد را روی سایتتان استفاده کنید قیمت محصول را با وارد کردن آیدی به شما نمایش خواهد داد. البته باید به جای عدد ۱ آیدی مورد نظر خود را که در بخش اول پیدا کردید، وارد کنید.
نمایش قیمت محصول در قالب سایت
اگر میخواهید قیمت را در قالب سایتتان نمایش دهید پس کافیست با استفاده از آموزش نمایش شورت کد در قالب وردپرس، اینکار را انجام دهید.
سلام وقتتون بخیر
میخوام محصولاتم بر اساس شناسشون در کاروسل محصولات نمایش داده بشن افزونه ای رو میشناسید بهم معرفی کنید یا کدی که بتونم ازش استفاده کنم؟
درود بر شما. باید توی loop مشخصه orderby رو تبدیل کنید به ID
سلام ..
من میخوام در صفحه اصلی سایت کتابفروشی نام نویسنده کتاب رو بذارم کدش رو نوشتم که بره توهوک عنوان محصول از طریق آی دی نام نویسند هرو بیاره ولی اسم کتاب رو میاره با نام نویسنده یعنی متن و اسم نویسنده نمیااد چکار باید بکنم ؟؟این کد کارمو راه میندازه ؟
لطفا زود جواب بدین عجله دارم
با سلام و عرض ادب
من یه فانکشن در فایل فانکشن قالب نوشتم که برای عملیاتی که براش تعریف کردم نیاز داره آیدی 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);
.
.
.
.
این کد در هر فایلی از سایت درست عمل میکنه ولی در فایل فانکشن نمیتونه آی دی محصولات رو بگیره
ممنون میشم راهنمایی کنید چه باید کرد
با سپاس…
سلام وقت بخیر
بنده این کد رو قرار دادم متاسفانه نشد
احتراما کد آماده میخوام که فقط آی دی محصول رو تغییر بدم
و دکمه خرید عین اونی که شما بالا قرار دادید باشه
یعنی قیمت محصول و خرید و دانلود داخل دکمه نوشته شده باشه
نه افزودن به سبد خرید
ممنون از میهن وردپرس
درود بر شما برای اینکار باید از get price استفاده کنیدو همچنین لینک به سبد خرید به صورت add to cart به شکلی که ما قرار دادیم.
سلام ببخشید افزونه ای موجود هست بشه بصورت اتوماتیک ووکامرس رو به edd یا بالعکس تبدیل کنه
سلام در حال حاضر خیر متاسفانه
سلام خسته نباشید
ببخشید من ووکامرس نصب کردم یه مشکل دارم میخوام قیمت محصول توی نتایج جستجوی گوگل نشون نشده فقط نام محصول و توضیحات نشون بده
دیتاهایلایتر هم کار نمیکنه
سلام بستگی به قالب شما دارد. باید قالب را تغییر دهید.
تشکر عالی بود
سلام
نمونه اجرا شده دارید ازش؟
کاربردش چه چیزهایی میتونه باشه؟
تشکر از سایت خوبتون
سلام مثل صفحه محصولات خودمون میتونید توی دکمه خرید یا هر جای دیگری قیمت رو نمایش بدید.