فعال کردن آپلود فایل برای نقش مشارکت کننده در وردپرس

3.7 / 5. تعداد رای: 3

فعال کردن آپلود فایل برای مشارکت‌کننده در وردپرس
فعال کردن آپلود فایل برای مشارکت‌کننده در وردپرس

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

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

آپلود فایل توسط Contributor در وردپرس

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

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

فعال کردن آپلود توسط Contributor با User Role Editor

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

باید به این نکته توجه داشته باشید که مشارکت‌‌کننده‌ها نقش بسیار محدودی در سایت دارند و دسترسی آن‌ها بسیار محدود می‌باشد. مشارکت‌‌کننده‌ها تنها می‌توانند پست بنویسند و آن‌ها را ویرایش کنند؛ ولی این قدرت را ندارند که هیچ پستی را در سایت شما منتشر کنند.

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

اکثر مدیران سایت‌های وردپرسی برای رفع این مشکل افزونه‌های مختلفی مانند User Role Editor را نصب می‌کنند و از این طریق این امکان را برای نویسندگان سایت خود فراهم می‌کنند. اما ما تصمیم گرفتیم این کار را بدون نصب هیچ‌گونه افزونه‌ای به شما کاربران میهن وردپرس آموزش بدهیم. اما اگر شما مایل به استفاده از کد نویسی نیستید و قصد استفاده از این افزونه را دارید می‌‌توانید آن را از مخزن وردپرس دریافت نمایید. مراحل نصب افزونه را نیز قبلا برای شما در سایت قرارداده‌‌ایم.

استفاده از افزونه  User Role Editor
استفاده از افزونه User Role Editor

نحوه فعال‌سازی آپلود فایل برای مشارکت‌‌کننده

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

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

if ( current_user_can('contributor') && !current_user_can('upload_files') )
add_action('admin_init', 'allow_contributor_uploads');
 
function allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}

به همین راحتی و توسط این قطعه کد توانستید امکان آپلود فایل را برای نویسنده سایت خود فعال کنید. به‌این‌ترتیب زمانی که نویسنده وارد قسمت نوشته تازه می‌شود می‌تواند از این قابلیت استفاده نماید. این ویژگی به نویسنده این امکان را می‌دهد که با استفاده از آپلود تصاویر بتواند محتوای بهتری را تولید کند. همچنین این کار باعث می‌شود سایت شما مخاطبان بیشتری را به خود جذب کند.

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

پیروز و سربلند باشید.

نکته خاصی هست که این مقاله رو تکمیل‌تر کنه؟

  1. U41547 ۲۸ تیر ۱۴۰۰

    سلام وقت بخیر
    ببخشید قالب سایت اگر Child باشه دوتا فایل Function.php داریم، یکی داخل پوسته مادر یکی هم داخل پوسته Child باید در کدومش قرار بدیم که با بروزرسانی قالب، این کد حذف نشه؟؟

  2. U9392 ۲۲ آذر ۱۳۹۹

    هر کاری میکنم و به هر طریقی که فایل را در Functions.php قرار میدم به ارور بر میخورم:

    Fatal error: Cannot redeclare allow_contributor_uploads() (previously declared in D:\laragon\www\te\wp-content\themes\twentytwentyone\functions.php:15) in D:\laragon\www\te\wp-content\themes\twentytwentyone\functions.php on line 24
    لطفا راهنمایی کنید

  3. کاربر مهمان ۱۰ اردیبهشت ۱۳۹۸

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

  4. U5807 ۷ آذر ۱۳۹۷

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

    • Reza Rad رضا راد ۷ آذر ۱۳۹۷

      درود برای پاسخ به دیدگاه ها باید از بخش صفحه مقاله پاسخ دهند. امکان تایید توسط مشارکت کننده وجود نداره مگر با استفاده از user role editor

  5. کاربر مهمان ۱۳ مرداد ۱۳۹۶

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

  6. کاربر مهمان ۲۰ تیر ۱۳۹۶

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

    • U7658 ۲۰ تیر ۱۳۹۶

      درود.
      خیر، باید حتما شناسه کاربری وجود داشته باشد و یا در هنگام ثبت نظرات به طور مثال، باید ایمیل کاربر وارد شود.
      چگونه سیستم تشخیص بدهد چه کاربری با چه شناسه ای چه تصویری دارد اگر شناسه ای وجود نداشته باشد در پایگاه داده !