شاهین

سطح کاربری

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

سلام،

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


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

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

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

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

0

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


لینک به پست

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

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

1

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


لینک به پست

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

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

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

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


<?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 را نمایش داد!

0

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


لینک به پست

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


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

1

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


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

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

0

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


لینک به پست

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

تعجبه اطلاعات نویسنده داخل متغییر 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

2

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


لینک به پست

این دو کد هم، همان ویژه و سطح 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
0

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


لینک به پست

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

User Role Editor نیست؟

0

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


لینک به پست

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

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

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

1

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


لینک به پست

ابتدا غیر فعال بود، فعال کردم شاید درسته شه.

0

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


لینک به پست

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

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

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

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


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

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

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


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