نمایش قسمتی از محتوا تنها برای کاربران عضو در وردپرس

در این نوشته آموزش چگونگی نمایش دادن قسمتی از محتوا همانند متن، تصاویر، لینک‌های دانلود و… را تنها برای کاربران عضو در سیستم وردپرس آماده ساخته‌ام.

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

نمایش محتوا تنها برای کاربران عضو

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

برای اضافه کردن کدمیانبر به وردپرس خود و استفاده از حالتِ نمایش محتویات تنها برای کاربران باید دستور زیر را در محل مناسبی از فایل فانکشن (functions.php) قالب وردپرس خود قرار دهید:

function mw_user_only( $atts, $content = null ){
if( null != $content && current_user_can('read') ){
return $content;
} else {
$mylink = get_permalink();
return '<br/>[ <font color=red>برای دریافت فایل <a href=/wp-login.php?redirect_to='.$mylink.'>وارد شوید</a> و یا <a href=/wp-login.php?action=register>ثبت نام</a> کنید! </font> ]';
}
}
add_shortcode('mandegarweb', 'mw_user_only');

در دستور بالا ما نام شورت کد یا همان کد میانبر خود را mandegarweb گذاشته‌ایم که بعد از ذخیره کردن تغییرات این شورت‌کد برای استفاده توسط شما دوستان آماده است و می‌توانید متن‌ها، لینک‌ها، تصاویر و… را با قرار دادن در بین برچسب‌های این شورت کد همانند مثال زیر تنها برای کاربران عضو شده‌ی خود به نمایش در بیاورید:

[mandegarweb]
محل قرار گیری متن، لینک، تصویر و... تنها برای نمایش به کاربران عضو شده
[/mandegarweb]

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


کانال تلگرام ماندگار وب

  1. امیر خلجی مهر

    ممنون بهزاد جان ، ورودتون رو به جمع دوستان در ماندگار وب خوش آمد میگم

    1. بهزاد

      خواهش میکنم امیر جان
      در کنار شما نوشتن بزرگترین افتخاریه که نصیب بنده شده
      امیدوارم بتونم برای دوستان مثبت واقع بشم

  2. سیامک

    ممنون مفید بود اما فقط میشه تو ویرایشگر ازش استفاده کرد چطور میشه بصورت مستقیم رو پوسته اینکارو کرد یعنی قسمت خاصی از پوسته تنها برای کاربران عضو شده به نمایش در بیاد؟

    1. بهزاد

      خواهش میکنم سیامک جان
      تو چند روز آینده آموزشش رو تو نوشته ای جدا در اختیارتون میگذارم
      موفق باشید

  3. بازتاب: ‫‫نمایش قسمتی از پوسته تنها برای کاربران عضو در وردپرس‬‬
  4. ظاهر

    سلام بهزاد جان من کد رو تو فانکشن قالب سایتم گذاشتم ولی ارور میده >>>> Parse error: syntax error, unexpected T_DEC in /home/***/tst/wp-content/themes/twentytwelve/functions.php on line 512

    قسمت پایین کدهای فانکشن گذاشتم! ولی نشد
    مشکلش چیه؟

    1. امیر خلجی مهر

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

  5. علیرضا

    با این می شه ادامه مطلب رو هم فقط برای یوزر های عضو امکان پذیر کنیم

    1. امیر خلجی مهر

      بله میشه، باید در فایل single.php تابع the_content رو در محلی که در این کد تعریف شده قرار بدهید

  6. erfan

    سلام
    متنی که نمایش داده نمیشه تو فید ار اس اس یا افزونه هایی که متن رو به اشتراک سایت هایی مثل گوگل+و… که همه باهاش آشنا هستیم چطور؟اونجاهم متن مخفی هست یا لو داده؟

    1. امیر خلجی مهر

      درود
      فکر نکنم نمایش داده بشه، چون این دستور بر روی تابع اصلی اجرا میشه، به هرحال باید امتحان کنید

  7. امین فراست

    سلام
    زمانی که از کد استفاده میکنم و کد را در فانکشن میزارم سایت دیگه بالا نمیاد ارور Server error را میده.
    مشکل چیه ؟

    1. امیر خلجی مهر

      درود
      کد مشکلی نداره دوست من، مشکل میتونه از جاگذاری نامناسب کد باشه، احتمالا یا بدون برچسب php گذاشتید یا با سایر کدهاتون تداخل پیدا کرده

  8. علی

    درود بر شما و تشکر بابت مطالب مفیدتان

    کد دقیقا در فایل functions.php گذاشته شد و شورتکد مربوطه هم در متن جایی که نیاز هست متن به کاربران عضو نمایش داده شود را قرار دادم. بدون هیچ خطایی متن وسط شورتکد همچنان نمایش داده می شود، بعلاوه این که لینک “برای دریافت فایل وارد سایت شوید و یا در سایت ثبت نام کنید! ” در ابتدا و انتهای مطلب یعنی دقیقا جایی که شورتکد هست همچنان نمایش داده می شود! قاعدتا نباید متن وسط شورتکد به کاربران غیرعضو نمایش داده شود اما اینطور نیست و متن همچنان نمایش داده می شود. لطفا راهنمایی فرمایید

    با تشکر

    1. امیر خلجی مهر

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

دیدگاه خود را بنویسید

تنها دیدگاه‌هایی که به فارسی نوشته می‌شوند پذیرفته خواهند شد!

ماندگار وب - 1395
فروش - خرید هاست وردپرس فارسی