رفتن به مطلب

سطح کاربری


شاهین

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

سلام،

کد زیر را در برگه نویسنده کاربران قرار داده ام:


<?php
echo $curauth->user_level;
?>

برای بعضی از اعضا با وجود اینکه مشترک هستند عدد 10 نمایش داده می شود!

حتا در صفحه توانمندیهای کاربر (افزونه User Role Editor) هم رفتم باز سطح 0 برایش تعریف شده بود.

در پروفایلش هم رفتم دسترسی غیر عادی مشاهده نمی شد!

لینک به ارسال

مطمئنید خودتون لاگین نکرده بودید؟

کد کامل رو قرار دهید

لینک به ارسال

مطمئنید خودتون لاگین نکرده بودید؟

کد کامل رو قرار دهید

بله، یک بار هم خارج شدم و مجدد امتحان کردم، این مشکل فقط برای بعضی از کاربرها وجود داره.

این هم کد کامل:


<?php global $authordata, $curauth;
$authordata=get_userdata(get_query_var( 'author' )); ?>
<?php
global $wp_query;
$curauth = $wp_query->get_queried_object();
?>
<h3>صفحه کاربر
<?php echo $curauth->display_name; ?>
<?php
if ($curauth->ID == get_current_user_id())
{
echo " <a href='/wp-admin/profile.php'>(ویرایش)</a>";
}
?>
<div class="author-avatar">
<?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyeleven_author_bio_avatar_size', 100 ) ); ?>
</div>
</h3>

<div>
<h4>مشخصات</h4>
<span>لقب: </span><?php echo $curauth->nickname; ?>
<br />
<?php
if ($curauth->user_url)
{
echo '<span>وبلاگ: </span><a href=' . $curauth->user_url;
echo '>' . $curauth->user_url . '</a><br/>';
}
?>
<?php
echo '<span>نوع کاربری: </span>';
if ($curauth->user_level == "0")
echo 'عادی';
else
echo 'ویژه';
?>

که وقتی دیدم برای کاربران عادی هم، عبارت ویژه ظاهر می شود، کد قبل را جای قسمت آخر زدم که سطح دسترسی 10 را نمایش داد!

لینک به ارسال

اینو تست کنید:


<?php
global $current_user;
get_currentuserinfo();
$user_level = $current_user->user_level;
echo $user_level;
?>

لینک به ارسال
اینو تست کنید:
 user_level; echo $user_level; ?> 

سطح دسترسی خودم (فرد لاگین شده) رو نشون میده!

لینک به ارسال

سوالتون رو اشتباه متوجه شدم

تعجبه اطلاعات نویسنده داخل متغییر authordata ریخته میشه، بعد از curauth استفاده میشه!

خط آخر اینو تست کنید:


if ($authordata->user_level == "0")
echo 'عادی';
else
echo 'ویژه';

یا اینو:


$user_level = get_the_author_meta("user_level");
echo $user_level;

https://codex.wordpress.org/Function_Reference/get_the_author_meta

لینک به ارسال

این دو کد هم، همان ویژه و سطح 10 را نمایش می دهد.

سوالتون رو اشتباه متوجه شدم

تعجبه اطلاعات نویسنده داخل متغییر authordata ریخته میشه، بعد از curauth استفاده میشه!

خط آخر اینو تست کنید:


if ($authordata->user_level == "0")
echo 'عادی';
else
echo 'ویژه';

یا اینو:


$user_level = get_the_author_meta("user_level");
echo $user_level;

https://codex.wordpr...the_author_meta

ویرایش شده توسط shahin
لینک به ارسال

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

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

یا از افزونه دیگری استفاده نمائید

لینک به ارسال

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

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

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

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

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

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

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

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

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