کد دستور شرطی بررسی خرید محصول در ووکامرس - (نمایش بخش مخصوص مشتریان)

مسیح دیندار
مدیریت
عضو شده: 2021-04-12 14:23:35
2021-06-27 07:44:33

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

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

برای شروع کار، ابتدا باید دستور شرطی مربوطه را در فایل ادامه مطلب ووکامرس قرار دهید. در پوشه قالبتان فایل single-product.php را پیدا و در حالت ویرایش باز کنید. این فایل مربوط به صفحه ادامه مطلب محصولات ووکامرس است. در این فایل کد مربوط به the_content را پیدا کنید (این عبارت را داخل فایل جستجو کنید). پایین یا بالای این تابع، دستور شرطی زیر را اضافه کنید:

<?php global $product; if ( ! is_user_logged_in() ) return; {?>
<?php $current_user = wp_get_current_user(); if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product->get_id() ) ) {?>

 //کدهایی که باید در صورت خریده بودن محصول، به کاربر نمایش داده شود

<?php }?>
<?php }?>

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

زمینه دلخواه چیست؟ همچنین مطالعه کنید: کدهای مربوط به نمایش و دریافت زمینه های دلخواه

 

برای مثال، می توانیم یک زمینه دلخواه را به این صورت و با کد بالا، تنها برای مشتریان نمایش دهیم:

<?php global $product; if ( ! is_user_logged_in() ) return; {?>
<?php $current_user = wp_get_current_user(); if ( wc_customer_bought_product( $current_user->user_email, $current_user->ID, $product->get_id() ) ) {?>

 //کدهایی که باید در صورت خریده بودن محصول، به کاربر نمایش داده شود
<?php the_sub_field('linkdownload'); ?>

<?php }?>
<?php }?>