نمایش قسمتی از محتوا تنها برای کاربران عضو در وردپرس
در این نوشته آموزش چگونگی نمایش دادن قسمتی از محتوا همانند متن، تصاویر، لینکهای دانلود و… را تنها برای کاربران عضو در سیستم وردپرس آماده ساختهام.
همانطور که میدانید عضویت در سایتها از جهات گوناگون برای مدیران سایتها حائز اهمیت است برای نمونه در سایتهایی نظیر ماندگار وب که به ارایه مقالات و آموزشهای وردپرسی میپردازد و یا سایتهای دانلود فایل مدیران میتوانند قسمتی از متن، تصویر، لینک دانلود و… را تنها برای کاربران عضو شدهی خود به نمایش در بیاورند.
در این آموزش وردپرس برای نمایش قسمتی از متن تنها برای اعضا و یا نمایش لینک دانلود تنها برای کاربران عضو شده در وردپرس نیاز به ویرایش کلی فایلهای پوسته وردپرس و یا استفاده از افزونههای جانبی ندارید بلکه با استفاده از کد میانبر یا همان شورتکدی که در این آموزش به وردپرس شما اضافه میگردد میتوانید به راحتی تمام متنها و لینکهای مورد نظر خود را تنها برای کاربران عضو به نمایش در بیاورید.
برای اضافه کردن کدمیانبر به وردپرس خود و استفاده از حالتِ نمایش محتویات تنها برای کاربران باید دستور زیر را در محل مناسبی از فایل فانکشن (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]
چنانچه کاربری در سایت شما عضو نباشد همانطور که در دستور تماشا کردید پیام اخطار به همراه لینک ورود و عضویت برای کاربر به نمایش در خواهد آمد که شما میتوانید این پیغام را با توجه به نیاز خود تغییر دهید، امیدوار هستم این آموزش وردپرس مورد پسند شما دوستان عزیز قرار گرفته باشد.
دیدگاهها در "نمایش قسمتی از محتوا تنها برای کاربران عضو در وردپرس"
دیدگاه خود را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.
ممنون بهزاد جان ، ورودتون رو به جمع دوستان در ماندگار وب خوش آمد میگم
خواهش میکنم امیر جان
در کنار شما نوشتن بزرگترین افتخاریه که نصیب بنده شده
امیدوارم بتونم برای دوستان مثبت واقع بشم
ممنون مفید بود اما فقط میشه تو ویرایشگر ازش استفاده کرد چطور میشه بصورت مستقیم رو پوسته اینکارو کرد یعنی قسمت خاصی از پوسته تنها برای کاربران عضو شده به نمایش در بیاد؟
خواهش میکنم سیامک جان
تو چند روز آینده آموزشش رو تو نوشته ای جدا در اختیارتون میگذارم
موفق باشید
سلام بهزاد جان من کد رو تو فانکشن قالب سایتم گذاشتم ولی ارور میده >>>> Parse error: syntax error, unexpected T_DEC in /home/***/tst/wp-content/themes/twentytwelve/functions.php on line 512
قسمت پایین کدهای فانکشن گذاشتم! ولی نشد
مشکلش چیه؟
دوست خوبم مشکل شما به خاطر این هست که کدها رو بصورت صحیح تو فایل نام برده جاگذاری نکردید
میتونید فایل رو تو انجمن پیوست کنید تا دوستان راهنمایی کنند
عالی بود عزیز
با این می شه ادامه مطلب رو هم فقط برای یوزر های عضو امکان پذیر کنیم
بله میشه، باید در فایل single.php تابع the_content رو در محلی که در این کد تعریف شده قرار بدهید
سلام
متنی که نمایش داده نمیشه تو فید ار اس اس یا افزونه هایی که متن رو به اشتراک سایت هایی مثل گوگل+و… که همه باهاش آشنا هستیم چطور؟اونجاهم متن مخفی هست یا لو داده؟
درود
فکر نکنم نمایش داده بشه، چون این دستور بر روی تابع اصلی اجرا میشه، به هرحال باید امتحان کنید
سلام
زمانی که از کد استفاده میکنم و کد را در فانکشن میزارم سایت دیگه بالا نمیاد ارور Server error را میده.
مشکل چیه ؟
درود
کد مشکلی نداره دوست من، مشکل میتونه از جاگذاری نامناسب کد باشه، احتمالا یا بدون برچسب php گذاشتید یا با سایر کدهاتون تداخل پیدا کرده
درود بر شما و تشکر بابت مطالب مفیدتان
کد دقیقا در فایل functions.php گذاشته شد و شورتکد مربوطه هم در متن جایی که نیاز هست متن به کاربران عضو نمایش داده شود را قرار دادم. بدون هیچ خطایی متن وسط شورتکد همچنان نمایش داده می شود، بعلاوه این که لینک “برای دریافت فایل وارد سایت شوید و یا در سایت ثبت نام کنید! ” در ابتدا و انتهای مطلب یعنی دقیقا جایی که شورتکد هست همچنان نمایش داده می شود! قاعدتا نباید متن وسط شورتکد به کاربران غیرعضو نمایش داده شود اما اینطور نیست و متن همچنان نمایش داده می شود. لطفا راهنمایی فرمایید
با تشکر
درود دوست من
علی جان من تست کردم اما کد مشکلی نداره و به درستی کار میکنه
کد اول در فایل فانکشن پوسته قرار میگیره، شورتکد هم در محتوای نوشته یا برگه
محتوای بین شورتکد برای کاربران عضو نمایش داده میشه و درخواست ورود و یا نام نویسی نیز برای کاربران غیر عضو.
سلام
برای ایجاد بخشی از محتوا به (اعضای ویژه) همچین کدی وجود داره ؟!
درود
میشه اعضای ویژه رول کاربری مخصوص به خودشون رو داشته باشن و کدی که در این نوشته آمده رو طوری نوشت که برای رول کاربری اون اعضا در نظر گرفته بشه
شاد و پیروز باشید.
سلام
ممنون از پاسختون…
امکانش هست که شما در آموزش های بعدی کدی مثل این مخصوص اعضای ویژه (vip) معرفی کنید ؟!
با تشکر فراوان…
راستش علی جان به خاطر نبودن زمان آزاد هشت ماهی میشه که در وبلاگ ماندگار وب پستی نداشتم، میتونید در انجمن مطرح کنید:
http://forum.wp-parsi.com/
من این افزونه رو برای همین کار طراحی کردم
https://wordpress.org/plugins/swh-users-only/
سپاس از شما سینا جان
واقعا عالی بود… اگه میشد افزونه ای واسش طراحی میشد دیگه نور علی نور میشد…
درود دوست من
افزونش هم هست، کافیه در گوگل بهدنبالش باشید.
سلام میشه همین کد رو جوری گذاشت که فقط کاربرانی که ثبت نام نکردند ببینند یعنی کسایی که ثبت نام کردند نبینند
درود
بله، هر چیزی شدنی هست.
در انجمن بیان کنید لطفا:
http://forum.wp-parsi.com/
باعرض سلام و ادب
من این کد رو نصب کردم .مرسی خیلی عالی هست
فقط هرچقدر میخوام که لینکی که خودم درست کردم بره نمیشه
منظور اینجوری میره mysite.ir/wp-login.php
میخوام لینک خودمو بزار اینجوری باشه پنل کاربری یا ورود
mysite.ir/my-account/
با درود.
پیوند دلخواه خود را جایگزین خط زیر کنید:
/wp-login.php?redirect_to='.$mylink.
سلام
چطوری میشه توی این کد لینک های ورود و عضویت رو شخصی سازی کرد
مثلان بجای wp-login.php به یک صفحه ورود دیگه رفت مثلا
ممنون میشم راهنمایی کنید
باتشکر
با درود.
برای انجام اینکار افزونه آماده وجود دارد، در گوگل: افزونه تغییر آدرس ورود وردپرس را جستجو کنید.
سلام و روزتون عالی.
من از این تابع استفاده کردم و واقعا از شما ممونم. اما مشکلی که هست، میخوام برای ثبت نام به آدرس http://applyparty.com/register بره، اما از این آدرس خطا میگیره. و صفحه register که الان به کاربر نمایش داده میشه، برای سایت من که یک سایت فریلنسرینگ هست کاربردی نداره اصلا. چطور می تونم این مشکل رو رفع کنم؟
درود.
در انجمن بیان کنید:
https://wp-parsi.com/support/