Farid

پوسته ای خاص برای هر کاربر

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

سلام

میخواستم بدونم میشه با توجه به نقش کاربر ( مشترک و ... ) پوسته ای جدا برای هرکدوم تعریف کرد ؟ مثلا من میخوام بعد از ورود یه کاربر یه قسمتی از قالب براش نمایش داده نشه

0

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


لینک به پست

بله باید بر اساس سطح کاربری چیزی که میخواید رو لود کنید.

مثلا:


http://codex.wordpress.org/Function_Reference/current_user_can
http://codex.wordpress.org/Roles_and_Capabilities#Capabilities

4

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


لینک به پست

ممنون آقا مرتضی . ولی من چیزی از این دو صفحه سر در نیاوردم !! ممنون میشم یه توضیحی بدید :)

0

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


لینک به پست

اون صفحه ها روش کد گذاشتن برای اینکارند

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

http://wordpress.org/extend/plugins/user-theme/

3

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


لینک به پست

شما از این تابع همراه با یک دستور شرطی میتونید استفاده کنید مثلاً سایدربار چت فقط برای مدیران :


if (current_user_can('administrator')){
chat box code
}

administrator

editor

author

contributor

subscriber

3

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


لینک به پست

ممنون . اما یه مشکلی هست . من الان از این کد برای فرم ورود استفاده میکنم . وقتی کاربر مهمان هست فرم ورود براش نمایش داده میشه . اما وقتی به عنوان مدیر وارد میشه خوب قاعدتا باید طبق کدی که دادیم فرم نمایش داده نشه . ولی الان من اگه بخوام برای همه ی نقش ها این کد را بذارم دو تا مشکل وجود داره : اگه تو کد بنویسم adminstrator,author باز هم وقتی ادمین وارد میشه فرم براش نمایش داده میشه . وقتی هم بخوام برای هر نقش این کد را بنویسم تو صفحه به تعداد نقش ها فرم ورود دارم ! الان چیکار کنیم ؟! :)


<?php if (current_user_can('administrator')): else : ?>
<form class="form-2" action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<h1><span class="log-in">با نام خود وارد شده </span> یا <span class="sign-up">عضو شوید</span></h1>
<p class="float">
<label for="login"><i class="icon-user"></i>نام کاربری</label>
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
</p>
<p class="float">
<label for="password"><i class="icon-lock"></i>رمز عبور</label>
<input type="password" name="pwd" id="pwd" size="20" />
</p>
<p class="clearfix">
<a href="#" class="log-twitter">ثبت نام</a>
<input type="submit" name="submit" value="ورود" class="button" />
</p>
</form>​​
<?php endif; ?>

0

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


لینک به پست

شما اول یک شرط بزارید که کاربر وارد شده هست یا خیر با کمک تابع : is_user_logged_in

بعد برای کاربر ثبت نام نکرده هر چی دوست دارید نمایش بدید.

حالا اگر وارد شده بود شرط های مربوط به سطح کاربری رو بزارید.

3

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


لینک به پست

من الان این کد را گذاشتم ، ولی هیچی نشون نمیده


<?php if (is_user_logged_in): else : ?>
شما وارد نشدید
<?php endif; ?>

0

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


لینک به پست

<?php if (! is_user_logged_in): ?>
<form class="form-2" action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<h1><span class="log-in">با نام خود وارد شده </span> یا <span class="sign-up">عضو شوید</span></h1>
<p class="float">
<label for="login"><i class="icon-user"></i>نام کاربری</label>
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
</p>
<p class="float">
<label for="password"><i class="icon-lock"></i>رمز عبور</label>
<input type="password" name="pwd" id="pwd" size="20" />
</p>
<p class="clearfix">
<a href="#" class="log-twitter">ثبت نام</a>
<input type="submit" name="submit" value="ورود" class="button" />
</p>
</form>​​
<?php endif; ?>

4

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


لینک به پست

ممنون . این کد را هم خودم امتحان کردم . در هر دو صورت ( متصل بودن یا خارج بودن ) فرم را نشون نمی ده

0

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


لینک به پست

مطمئنید شرط دیگری قبل از این فرم ندارید؟

چیز خاصی نداره این کد

3

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


لینک به پست

کد پارسای عزیز رو تست کردم درست بود ایراد از طرف شماست

اگر با کد نویسی آشنایی ندارید بهتره به ساختار کداتون دست نزنید ولی اگر کدهای php و wordpress را می شناسید کدهای صفحه را کاملا چک کنید

2

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


لینک به پست

ممنون . از همگی .

به کدهای وردپرس و php آشنایی دارم تا حدودی . الان من میخوام این فرم را در سایدبار استفاده کنم . اینم کل کدهای sidebar.php هست . که با این کدی که میذارم در هر دو حالت فرم نمایش داده نمیشه


<div class="rightbody">
<center><a href="#" target="_blank"><div class="adv"></div></a><a href="https://#" target="_blank"><div class="facebook"></div></a></center> <section class="main">
<?php if (! is_user_logged_in): ?>
<form class="form-2" action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<h1><span class="log-in">با نام خود وارد شده </span> یا <span class="sign-up">عضو شوید</span></h1>
<p class="float">
<label for="login"><i class="icon-user"></i>نام کاربری</label>
<input type="text" name="log" id="log" value="<?php echo wp_specialchars(stripslashes($user_login), 1) ?>" size="20" />
</p>
<p class="float">
<label for="password"><i class="icon-lock"></i>رمز عبور</label>
<input type="password" name="pwd" id="pwd" size="20" />
</p>
<p class="clearfix">
<a href="#" class="log-twitter">ثبت نام</a>
<input type="submit" name="submit" value="ورود" class="button" />
</p>
</form>​​
<?php endif; ?>

</section><?php if (function_exists('dynamic_sidebar') && dynamic_sidebar('RightSide')) : else : ?>
لطفا از ابزارک برا گذاشتن منو استفاده کنید<?php endif; ?></div>

0

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


لینک به پست

شما وقتی دارید تست می کنید به وردپرس لاگین کرده هستید؟

1

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


لینک به پست


<?php if(!is_user_logged_in()) { ?>
فرم ورود
<?php
};?>

یک پرانتز بعد از لاگ این اضافه کنید

2

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


لینک به پست

خیلی ممنون . درست شد :) . الان بعد از لاگ این کردن فرم مخفی میشه . فقط شرمنده ... یه سوال دیگه . من آخر نفهمیدم چطور میشه بعد از اینکه کاربر لاگین کرد ، یه کد خاص بهش نشون داده بشه ؟ مثلا دکمه خروج ؟

0

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


لینک به پست

خیلی ممنون . درست شد :) . الان بعد از لاگ این کردن فرم مخفی میشه . فقط شرمنده ... یه سوال دیگه . من آخر نفهمیدم چطور میشه بعد از اینکه کاربر لاگین کرد ، یه کد خاص بهش نشون داده بشه ؟ مثلا دکمه خروج ؟

بخش else


<?php if(!is_user_logged_in()) { ?>
فرم ورود
<?php
else
?>
خروج
<?php
}
?>


<?php if(is_user_logged_in()) { ?>
خروج
<?php
}
?>

3

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


لینک به پست

ببخشید .. الان من بخوام یه کد بذارم که نام کاربری هر نفر را نشون بده ، چی هست کدش ؟ یعنی اینکه مثلا : f.gh1372 گرامی , خوش آمدید . از کدی که در کامنت ها استفاده میشه ، استفاده کردم ولی جواب نداد

0

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


لینک به پست

ببخشید .. الان من بخوام یه کد بذارم که نام کاربری هر نفر را نشون بده ، چی هست کدش ؟ یعنی اینکه مثلا : f.gh1372 گرامی , خوش آمدید . از کدی که در کامنت ها استفاده میشه ، استفاده کردم ولی جواب نداد

3

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


لینک به پست

ارسال شده در (ویرایش شده)

من از این کد برای وقتی که کاربر لاگین هست استفاده میکنه . ولی وقتی میخوام خارج بشم ... خارج میشه اما ارور 404 تو صفحه میاد و مثلا میگه برگه وجود ندارد ... چون عبارت (%2F ) آخر url میخوره .


<?php global $user_ID, $user_identity, $user_level ?>
<?php if ( $user_ID ) : ?>
<form class="form-2" action="<?php echo get_option('home'); ?>/wp-login.php" method="post">
<h1><span class="log-in">به مدرسه زیست شناسی </span> <span class="sign-up">خوش آمدید ! </span></h1>
<p class="float">
<label for="login"><i class="icon-user"></i><?php echo $user_identity ?> گرامی , لحاظ خوشی را برای شما آرزومندیم </label>
</p>
<p class="clearfix">
<a href="<?php echo wp_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>" class="log-twitter">خروج</a>
</p>

</form>​​
<?php endif // get_option('users_can_register') ?>

ویرایش شده در توسط f.gh1372
0

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


لینک به پست

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

اما میتونید به صفحه اول راهنمایی کنید:

<?php echo wp_logout_url( home_url() ); ?>

این رو هم تست کنید:

 wp_logout_url( $_SERVER['REQUEST_URI'] );

2

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


لینک به پست

سلام

وقتی کاربر یوزر یا پس رو اشتباه بزنه ، پیغام خطا رو توی صفحه ی فایل wp-login نشون میده / الان بخوام اینطور نشه و یه پیغام همون جا نشون بده چکار کنم ؟ .... ممنون

0

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


لینک به پست

این موضوع رو توی تاپیک زیر ادامه میدیم:

فرم عضویت

1

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


لینک به پست

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

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

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

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


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

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

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


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