از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
شش سال پیش منتشر شده
تعداد بازدید: 636
کد پروژه: 68030
شرح پروژه
سلام
بنده تصمیم دارم محتوای قسمتی از سایت رو برای همه محدود کنم و فقط افرادی که محصول خاصی رو خرید کردن بتونن اون محتوای پنها شده رو ببینن.
تو اینترنت گشتم و یک قطعه کدی رو پیدا کردم که این کارو میکرد اما یک مشکلی داشت اونم اینکه وقتیی کسی بصورت پرداخت در محل هم خریدش ثبت می شد اون محتوای پنهان شده رو بهش نشون میداد که خب از لحاظ امنیتی مشکل داره جون اون شخص چولی پرداخت نکرده هنوز.
در واقع کسی که محصول خاصی رو خریده و سفارشش به تکمیل شده تغییر کرده باید بتونه اون محتوای پنهان رو ببینیه.
کد رو برایتون میزارم. از دوستان ممنون می شم اگر این مشکل رو برطرف کنن.
/** * [wcr_shortcode description] * @param array pid product id from short code * @return content shortcode content if user bought product */ function wcr_shortcode($atts = [], $content = null, $tag = '') { // normalize attribute keys, lowercase $atts = array_change_key_case((array) $atts, CASE_LOWER);
// start output $o = '';
// start box $o .= '<div class="wcr-box">';
$current_user = wp_get_current_user();
if ( current_user_can('administrator') || wc_customer_bought_product($current_user->email, $current_user->ID, $atts['pid'])) { // enclosing tags if (!is_null($content)) { // secure output by executing the_content filter hook on $content $o .= apply_filters('the_content', $content); }
} else { // User doesn't bought this product and not an administator } // end box $o .= '</div>';
// return output return $o; }
function wcr_shortcodes_init() { add_shortcode('wcr', 'wcr_shortcode'); }
add_action('init', 'wcr_shortcodes_init');
و این کد با شورتکدی بصورت زیر کار میکنه:
[wcr pid="72"] This content only show for users that bought product with the id #72 [/wcr]
ضمنا اطلاعات بیشتر رو میتونید در این صفحه ببینید:
https://wordpress.stackexchange.com/questions/283161/restrict-content-based-on-buy-woocommerce-product
مهارت ها و تخصص های مورد نیاز
بودجه
5,000 تومان تا 100,000 تومان
مهلت برای انجام
1روز
وضعیت مناقصه
بسته
درباره کارفرما
عضویت هفت سال پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار