moein27
آفلاین
عضو
تعداد نوشتهها: ۲۶
#
نوشته شده: ۱۲ سال پیش
۱۲ بهمن ۱۳۹۰ - ۱۱:۵۴
یک سایتی داریم که کلیه مطالبش برای اعضاش هست. در واقع کاملا مطالب سایت خصوصی هست و تنها کاربران بعد از ورود می تونند مطالب رو ببینند.
اما حالا یک پست رو میخواهیم بزنیم که مثلا چند نفر از اعضا اون رو نبینن. یعنی برای سایر کاربر ها نشون بده ولی وقتی اونها میان توی سایت پس از ورود بهشون ( اون پست خاص رو ) نشون نده.
آیا روشی هست در ورد پرس ؟ چون در برخی سیستم های مدیریت محتوا این وجود داشت.
ممنون
Mostafa
آفلاین
ناظم
تعداد نوشتهها: ۵۲۷۶
تشکر شده: ۵۷۷۷ بار
#
نوشته شده: ۱۲ سال پیش
۱۲ بهمن ۱۳۹۰ - ۱۶:۳۴
سلام، تنها راه اینه که شما یک شرط ساده بنویسید و با تابع strstr کاربران رو جستجو کنید و اون نوشته رو بهش نشون بدین.
مثال:
$current_user = wp_get_current_user();
$get_current_username = $current_user->user_login;
if( strstr("user1-user2-user3-user4", $get_current_username) ) {
the_content();
} else {
echo "Error Premission!";
}
moein27
آفلاین
عضو
تعداد نوشتهها: ۲۶
#
نوشته شده: ۱۲ سال پیش
۱۹ بهمن ۱۳۹۰ - ۱۱:۱۱
ممنون از شما. یعنی این کد را در بخش تابع ها قرار بدم و به جای user1-user2-user3-user4 کاربرانی را که میخوام نبینند با خط تیره جدا کنم و به جاش قرار بدم ؟
NESTED
آفلاین
عضو فعال
تعداد نوشتهها: ۲۳۵۴
تشکر شده: ۲۳۷۰ بار
#
نوشته شده: ۱۲ سال پیش
۱۹ بهمن ۱۳۹۰ - ۱۱:۱۸
در فایل functions.php قالبتون قرار بدین
و بجای user1-user2-user3-user4 اسم یوزرهای مورد نظر رو قرار بدین
کاربران زیر بهخاطر این نوشته تشکر کردهاند:
moein27
moein27
آفلاین
عضو
تعداد نوشتهها: ۲۶
#
نوشته شده: ۱۲ سال پیش
۱۹ بهمن ۱۳۹۰ - ۲۳:۰۵
فکر کنم متوجه منظور من نشدید یا من منظورم رو خوب بیان نکردم.
من یک پست خاص رو میخوام نشون ندم. اگر این رو در فایل تابع ها قرار بدم ، مربوط به کلیه مطالب نمیشه ؟
اگر این رو در تابع بگذارم ، چه جوری در اون پست مشخص کنم که مثلا این دو خط رو به این کاربرها نشون بده ؟
Mostafa
آفلاین
ناظم
تعداد نوشتهها: ۵۲۷۶
تشکر شده: ۵۷۷۷ بار
#
نوشته شده: ۱۲ سال پیش
۲۸ بهمن ۱۳۹۰ - ۲۰:۴۳
من یک پست خاص رو میخوام نشون ندم. اگر این رو در فایل تابع ها قرار بدم ، مربوط به کلیه مطالب نمیشه ؟
<?php
$current_user = wp_get_current_user();
$get_current_username = $current_user->user_login;
if( get_post_meta($post->ID, "private", true) == "1" )
{
if( strstr("user1-user2-user3-user4", $get_current_username) )
{
the_content();
} else {
echo "Error Premission!";
}
} else {
the_content();
}
?>
در هر پستی که در قسمت زمینه دلخواه آن، نام private مقدار 1 داشته باشد این شرط اجرا میشود.
moein27
آفلاین
عضو
تعداد نوشتهها: ۲۶
#
نوشته شده: ۱۲ سال پیش
۳ اسفند ۱۳۹۰ - ۱۳:۳۵