احسان

افزونه مدیریت نوشته ها، توسط نویسنده آن مطلب

10 پست در این موضوع قرار دارد

سلام

افزونه ای هست که بتونه مانع از دیدن نوشته های سایر اعضا بشه؟

به عبارت دیگر

افزونه ای که امکان مشاهده پست های ارسال شده توسط هر کاربر رو فقط برای همون کاربر ایجاد کنه

داریم همچین چیزی؟

0

به اشتراک گذاری این پست


لینک به پست

اگر در حد شناخت حلقه کدها را بشناسید افزونه نمی خواد این کد را در single.php جایگزین تابع

wp_content()

کنید


<?php $authorID = get_the_author_id();
global $user_ID;
if ( is_user_logged_in() and $user_ID == $authorID ) {
wp_content();
}
else {
echo '<h4>شما مجاز به مشاهده این مطلب نیستید</h4>';
}
?>

2

به اشتراک گذاری این پست


لینک به پست

اگر در حد شناخت حلقه کدها را بشناسید افزونه نمی خواد این کد را در single.php جایگزین تابع

wp_content()

کنید


<?php $authorID = get_the_author_id();
global $user_ID;
if ( is_user_logged_in() and $user_ID == $authorID ) {
wp_content();
}
else {
echo '<h4>شما مجاز به مشاهده این مطلب نیستید</h4>';
}
?>

منظورم تو پنل مدیریت بود

مثلا تو بخش نوشته ها، کلی پست هست

میخوام هر نویسنده، پست های خودشو اونجا ببینه

0

به اشتراک گذاری این پست


لینک به پست

شدنش که می شه ولی اگر دسترسی ها را درست تنظیم کنید نیازی نداره

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

1

به اشتراک گذاری این پست


لینک به پست

شدنش که می شه ولی اگر دسترسی ها را درست تنظیم کنید نیازی نداره

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

خب

در عمل چه باید کرد؟ :)

0

به اشتراک گذاری این پست


لینک به پست

می تونید با هوک ها کار کنید؟

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

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

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

1

به اشتراک گذاری این پست


لینک به پست

می تونید با هوک ها کار کنید؟

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

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

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

ممنون که به زحمت افتادید

اما فرض کنید، یکسری آدم داریم که برای اولین بار است که با وردپرس کار میکنند

از طرفی، باید در سایت پست بزنند و احتمالا ویرایش کنند.

تصور کنید، تعداد پستها زیاد بشود (چون تعداد آدمها زیاد میشود) و این آدمهای ناوارد، بخواهند به دنبال پست مورد نظرشان بگردند تا آن را ویرایش کنند

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

البته، سرچی کردم و کدی پیدا کردم.

بد نیست، شما هم ببینیدش

<?php
/*
Plugin Name: Simplify Post Edit List
Description: Show only the author's posts in the edit list
Version: 0.1
License: GPL
Author: Sarah Gooding
Author URI: http://untame.net
*/
function mypo_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
if ( !current_user_can( 'update_core' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'mypo_parse_query_useronly' );
?>

0

به اشتراک گذاری این پست


لینک به پست

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

1

به اشتراک گذاری این پست


لینک به پست

کدی که گذاشتید برای گروه مشارکت کننده این کار رو می کنه که البته فقط در preview دسترسی دارند

وردپرس یک سیستم جهانی و ایمنه به نظر من بهتره کد گذاری نکنید چون به هر حال باعث کند شدن بخش می شه و برای هر کاربر یک محاسبه ی اضافی رو انجام می ده که خاصیتی در کل نداره و با بالا رفتن کاربران و درخواستهای صفحه به مشکل می خورید ولی اگر اصرار بهش دارید این بخش کد را داخل تگ php در فایل functions.php قالب کپی کنید


function mypo_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
if ( !current_user_can( 'update_core' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'mypo_parse_query_useronly' );

1

به اشتراک گذاری این پست


لینک به پست

کدی که گذاشتید برای گروه مشارکت کننده این کار رو می کنه که البته فقط در preview دسترسی دارند

وردپرس یک سیستم جهانی و ایمنه به نظر من بهتره کد گذاری نکنید چون به هر حال باعث کند شدن بخش می شه و برای هر کاربر یک محاسبه ی اضافی رو انجام می ده که خاصیتی در کل نداره و با بالا رفتن کاربران و درخواستهای صفحه به مشکل می خورید ولی اگر اصرار بهش دارید این بخش کد را داخل تگ php در فایل functions.php قالب کپی کنید


function mypo_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
if ( !current_user_can( 'update_core' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'mypo_parse_query_useronly' );

ممنون از لطفتون

به این نکته ای که گفتید، واقف هستم

اما کند شدن سایت رو به اینکه مطالب توسط یه عده ناشی از بین برن، ترجیح میدم

باز هم ممنون :)

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری