رفتن به مطلب

مدیریت پست ها بدون نیاز به رفتن به پیشخوان برای کاربر ها


پست های پیشنهاد شده

سلام

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

میخوام دوتا دسترسی به کاربرا بدم

یکی این که کاربر از داخل محیط کاربری سایت بتونه پست های ارسالیش رو ویرایش و حذف بکنه و نیازی نباشه به پیشخوان دسترسی داشته باشه(مثلا داخل یه برگه بتونن پست هاشون رو مدیریت کنن)

و دیگری این که یه گذینه به سایت اضافه بشه که کاربر با کلیک کردن رو اون اخرین پستش رو اپدیت کنه. یعنی اخرین پست کاربر بیاد جز پست های تازه ارسال شده

چجوری میتونم این کارهارو بکنم؟

لینک به ارسال

سلام، افزونه های زیر را بررسی نمائید:

https://wordpress.org/plugins/user-role-editor/screenshots/
http://wordpress.org/plugins/wpfront-user-role-editor/screenshots/
https://wordpress.org/plugins/advanced-access-manager/screenshots/

لینک به ارسال

افزونه اخر را نصب دارم

از نظر محدود کردن دسترسی به پیشخوان مشکلی ندارم و کاراش رو انجام دادم

فقط میخوام قابلیت ویرایش و حذف پست های ارسالی رو داخل سایت به هرکاربر بدم( هرکاربر پست های خودشو مدیریت کنه)

ویرایش شده توسط ℳIℒȺD
لینک به ارسال

با اون افزونه ها میتونید دسترسی ها را برای نقش های کاربری تغییر دهید.

لینک به ارسال

برای حذف که این کد را داخل حلقه بگذارید


<?php if (current_user_can('delete_post', $post->ID)): ?><a href="<?php echo get_delete_post_link( $post->ID ); ?>">حذف مطلب</a><?php endif; ?>

برای ویرایش اول مشخص کنید کاربر ارسال مطالبش رو چجوری انجام می ده با افزونه یا کد نویسی

به عبارت دیگه سورس اکشن ارسال مطلب را می شناسید یا خیر

لینک به ارسال

ممنون

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

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

https://wordpress.org/plugins/djd-site-post/

لینک به ارسال

جناب صوفی که در مورد دسترسی فرمودند و گفتید مشکلی نداره

دسترسی کاربران به حذف مطالب منتشر شده در حالت پیشفرض بسته است

اگر از افزونه استفاده کردید که هیچ باید بگردید افزونه ای هم برای ویرایش پیدا کنید

لینک به ارسال

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

Up

الان افرونه کنترل دسترسی کاربرا رو برای چند دقیقه غیرفعال کردم و چک کردم که کاربرا الان میتونن حذف کنند یا خیر ، ولی باز هم گذینه حذف برای کاربرا نشون داده نمیشه و فقط مدیر اون گذینه رو میبینه

ویرایش شده توسط ℳIℒȺD
لینک به ارسال

در حالت پیشفرض وردپرس مطالب منتشر شده را کاربران نمی تونند حذف کنند و فقط مطالب در انتظار تایید رو می تونند حذف کنند

اگر می خواهید دسترسی تعریف کنید که باید دسترسی delete_publish_posts را براشون باز کنید ولی اگر می خواهید هر کسی بتونه مطلب را حذف کنه شرط را از کد بردارید


<a href="<?php echo get_delete_post_link( $post->ID ); ?>">حذف مطلب</a>

در مورد ویرایش هم باید صفحه اکشن فرم ارسال مطلب را بتونید ویرایش کنید و اگر تونستید صفحه ای را که تابع


wp_insert_post();

بگید تا کدهای لازم رو بدم

لینک به ارسال

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

قسمت ویرایش نشد هم اشکال نداره . بیشتر حذف مهم هست

چجوری میتونم دسترسی delete_publish_posts را برای کاربرا باز کنم ؟ ( البته فقط برای پست های خودشون )

ویرایش شده توسط ℳIℒȺD
لینک به ارسال

ممنون . با درست کردن دسترسی ها حل شد

و دیگری این که یه گذینه به سایت اضافه بشه که کاربر با کلیک کردن رو اون اخرین پستش رو اپدیت کنه. یعنی اخرین پست کاربر بیاد جز پست های تازه ارسال شده

چجوری میشه این کار هم انجام داد؟

لینک به ارسال

دسترسی delete_publish_posts را اگر برای کاربر مشارکت کننده باز کنید فقط پستهای خودش رو می تونه حذف کنه

و اگر کاربری نویسنده را جایگزین کنید نیاز به تغییر دسترسی هم ندارید و الا که از افزونه هایی که جناب صوفی معرفی کردند استفاده کنید

لینک به ارسال

ممنون.اون کار انجام شده و دسترسی ویرایش و حذف برای پست های خود هرکاربر درست هست

الان این کارو میخوام انجام بدم

و دیگری این که یه گذینه به سایت اضافه بشه که کاربر با کلیک کردن رو اون اخرین پستش رو اپدیت کنه. یعنی اخرین پست کاربر بیاد جز پست های تازه ارسال شده

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

لینک به ارسال

چرا اینقدر پیچیده اش می کنید

با ژنراتور کوئری ساز یک کوئری بسازید برای نمایش یک پست از نویسنده

یک عدد برای اینکه ژنراتور بتونه کد را بسازه بهش بدید و بعد در کدها با $user_id عوضش کنید.

http://wp-parsi.com/generator/

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...