حجت

جلوگيري از ورود اعضاي «مشترك»

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

سلام

من نياز به يك كد يا افزونه يا هر روش ديگه دارم كه اعضايي كه سطح مشترك دارن، نتونن وارد سايت بشن

سايت روي خط وردپرس، اين كد رو داده كه اگه توي فانكشن گذاشته بشه، فقط اعضا مي‌تونن وارد سايت بشن

function protect_whole_site() {
if ( !is_user_logged_in() ) {
auth_redirect();
}
}

add_action ('template_redirect', 'protect_whole_site');

ولي من به كدي نياز دارم كه فقط، كاربران «مدير، ويرايش‌گر، نويسنده و مشاركت‌كننده» بتونن وارد بشن

چون يك عالمه مشترك دارم كه مي‌خوام دسترسي به سايت نداشته باشن

آيا همچنين كاري ممكنه؟! پيشاپيش سپاسگذارم

0

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


لینک به پست

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

function protect_whole_site() {
if ( !is_user_logged_in() || !current_user_can('delete_posts') ) {
auth_redirect();
}
}

add_action ('template_redirect', 'protect_whole_site');

3

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


لینک به پست

دستت درد نكنه آقا مرتضي

دقيقا همون چيزي بود كه مي‌خواستم، خدا خوشحالت كنه

قيمت سرور مجازي خيلي بالا رفته :o ، مي‌خوام كاربراي سايت رو محدود كنم تا بتونم باز برگردم سر همون هاست اشتراكي :wacko:

موفقيت

0

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


لینک به پست

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

function protect_whole_site() {
if ( !is_user_logged_in() || !current_user_can('delete_posts') ) {
auth_redirect();
}
}

add_action ('template_redirect', 'protect_whole_site');

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

0

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


لینک به پست

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

با افزونه Advanced Access Manager دسترسی را تنظیم کنید

4

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


لینک به پست

+ همچنین:

برای نویسنده:

function remove_medialibrary_tab($tabs) {
unset($tabs['library']);
return $tabs;
}
if(!current_user_can('edit_others_posts'))
add_filter('media_upload_tabs','remove_medialibrary_tab');

برای مشترک:

function remove_medialibrary_tab($tabs) {
unset($tabs['library']);
return $tabs;
}
if(!current_user_can('read'))
add_filter('media_upload_tabs','remove_medialibrary_tab');

3

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط helen94
      سلام دوستان. من دنبال افزونه یا ابزارکی می گردم که باهاش در صفحه اصلی سایتم یه باکسی ایجاد کنم که در اون آخرین پست های سایت رو نشون بده. به این شکل که جدیدترین پست رو به همراه تصویر شاخصش در قسمت بالا به شکل بزرگتر نشون بده و در قسمت زیرش پست های قبل تر رو نشون بده. تصویر افزونه ی موردنظرم رو ضمیمه کردم به این پست.
      قالبی هم که ازش استفاده میکنم قالب استادیار هست.
      من قبلا موارد این چنینی رو در خیلی سایت ها دیدم، اما اسم افزونه یا ابزاری که باهاش این کار رو کردن نمیدونم.
      ممنون میشم راهنماییم کنید.


    • توسط ariux
      سلام دوستان ، من با استفاده از این مقاله اقدام به تعبیه ورود و ثبت نام در سایتم کردم ، اما با مشکلی رو به رو شدم .
      مشکل در واقع این هستش که فرم به خوبی کار میکنه و کاربر ورود ؛ و یا ثبت نام رو انجام میده اما صفحه به صورت اتوماتیک ری لود / ری فرش نمیشه تا اطلاعات کاربر لاگین شده رو نمایش بده .
      البته بعد از ری فرش صفحه توسط بروزر اطلاعات کاربر نمایش داده میشه اما مشکل همینجاست که ری لود باید اتوماتیک انجام بشه و نه توسط کاربر . 
      مورد عجیب اما این هستش که تمام مواردی که عرض کردم روی سایت آنلاین بروز پیدا میکنه و روی نسخه لوکال که توسط wamp ایجاد شده ، تمام موارد بدون کوچکترین مشکلی کار میکنند و جواب میدهند .
      این کدهایی هستش که بنده کمی شخصی سازیشون کردم اینجا قرار میدم ، امیدوارم دوستی بتونه کمک بکنه 
       
      function auth_user_login($user_login, $password, $login) { $info = array(); $info['user_login'] = $user_login; $info['user_password'] = $password; $info['remember'] = (isset( $_POST['rememberme'] ) && true == $_POST['rememberme'] ? true : false); $userdata = get_user_by('login', $info['user_login']); $result = wp_check_password($info['user_password'], $userdata->data->user_pass, $userdata->data->ID); if ( $result ) { auto_login( $userdata ); echo json_encode(array('loggedin'=>true, 'message'=>__('ورود موفقیت امیز بود ، در حال بارگذاری'))); } else { echo json_encode(array('loggedin'=>false, 'message'=>__(' اطلاعات وارد شده نادرست می باشد! '))); } die(); } function auto_login( $user ) { if ( !is_user_logged_in() ) { $user_id = $user->data->ID; $user_login = $user->data->user_login; wp_set_current_user( $user_id, $user_login ); wp_set_auth_cookie( $user_id ); } }  
      jQuery(document).ready(function ($) { // Display form from link inside a popup $('#pop_login, #pop_signup').on('click', function (e) { formToFadeOut = $('form#register'); formtoFadeIn = $('form#login'); if ($(this).attr('id') == 'pop_signup') { formToFadeOut = $('form#login'); formtoFadeIn = $('form#register'); } formToFadeOut.fadeOut(100, function () { formtoFadeIn.fadeIn(); }) return false; }); // Display lost password form $('#pop_forgot').click(function(){ formToFadeOut = $('form#login'); formtoFadeIn = $('form#forgot_password'); formToFadeOut.fadeOut(100, function () { formtoFadeIn.fadeIn(); }) return false; }); // Close popup $(document).on('click', '.close-any, .close', function () { $('form#login, form#register, form#forgot_password').fadeOut(100, function () { $('.close-any').remove(); }); return false; }); // Show the login/signup popup on click $('#show_login, #show_signup').on('click', function (e) { $('[canvas]').prepend('<div class="close-any"></div>'); if ($(this).attr('id') == 'show_login') $('form#login').fadeIn(100); else $('form#register').fadeIn(100); e.preventDefault(); }); // Perform AJAX login/register on form submit $('form#login, form#register').on('submit', function (e) { if (!$(this).valid()) return false; $('p.status', this).show().text(auth_script_object.loadingmessage); action = 'ajaxlogin'; username = $('form#login #username').val(); firstName = ''; lastName = ''; rememberme = ''; email = ''; password = $('form#login #password').val(); security = $('form#login #security').val(); if ($(this).attr('id') == 'register') { action = 'ajaxregister'; username = $('#signonname').val(); firstName = $('#signonfirstname').val(); lastName = $('#signonlastname').val(); password = $('#signonpassword').val(); email = $('#email').val(); security = $('#signonsecurity').val(); } ctrl = $(this); $.ajax({ type: 'POST', dataType: 'json', url: auth_script_object.ajaxurl, data: { 'action': action, 'username': username, 'password': password, 'email': email, 'firstName': firstName, 'lastName': lastName, 'security': security }, success: function (data) { $('p.status', ctrl).text(data.message); if (data.loggedin == true) { document.location.href = auth_script_object.redirecturl; window.location.reload(true); } } }); e.preventDefault(); }); // Perform AJAX forget password on form submit $('form#forgot_password').on('submit', function (e) { if (!$(this).valid()) return false; $('p.status', this).show().text(auth_script_object.loadingmessage); ctrl = $(this); $.ajax({ type: 'POST', dataType: 'json', url: auth_script_object.ajaxurl, data: { 'action': 'ajaxforgotpassword', 'user_login': $('#user_login').val(), 'security': $('#forgotsecurity').val(), }, success: function (data) { $('p.status', ctrl).text(data.message); } }); e.preventDefault(); return false; }); // Client side form validation if ($("#register").length) $("#register").validate( { rules: { password2: { equalTo: '#signonpassword' } } } ); else if ($("#login").length) $("#login").validate(); if ($('#forgot_password').length) $('#forgot_password').validate(); });  
      ممنون از شما
    • توسط 3pd
      با سلام خدمت دوستان
      ممنون میشم راهنمایی کنید که با چه افزونه ای این امکان وجود داره که بدون ایجاد برگه برای گالری ها ، بتونیم با استفاده از تصویر شاخص چندین گالری رو مثلا در صفحه اصلی سایت نمایش بدیم؟ افزونه ای میخوام باشه که برای گالری ها بشه دسته بندی ایجاد کرد.
      من با استفاده از افزونه ی foogallery، چند گالری ایجاد کردم و طرح شبکه بندی رو هم انجام دادم. با استفاده از ویژوال کامپوزر ردیف ایجاد کردم و از المان شبکه بندی استفاده کردم، در قسمت تنظیمات شبکه بندی نمایش گالری رو انتخاب کردم اما نمیشه انتخاب کرد که کدوم گالری! و صرفا میشه انتخاب کرد که چندتا از جدیدترین ها یا قدیمی ترین ها رو نمایش بده..
    • توسط m3hdigh
      سلام و وقت بخیر ،
      بنده یک قالب آماده خریداری کرده ام برای آموزش آنلاین LMS . یک سرویس ارسال sms هم از کاوه نگار باری احراز هویت خریداری کرده ام . ثبت نام و ورود در دوره ها با استفاده از یک پلاگین انجام میشه . که من در قسمت account اون رو به طور کل پاک کردم و تغییر دادم ( قسمت عضویت در سایت )
      در حال حاضر یکسری مشکلات برای چک کردن اعضای ثبت نام شده دارم و همچنین فراموشی رمز عبور .
      ممنون میشم اگر کمکم کنید .
      صفحه عضویت
       
      <h2 class="registerFormTitle">ثبت نام</h2> <div class="AuthWithMobile"> <form action="#" method="post" id="AuthWithMobileForm"> <label>کد ارسال شده خود را وارد نمایید.</label> <input type="hidden" name="AuthCodeDefault" id="AuthCodeDefault"> <input type="text" class="isNumberic" name="AuthMobileCode" id="AuthMobileCode" placeholder="کد احراز هویت" maxlength="4"> <input type="submit" class="btn btn-default" id="SumbitAuthMobile" value="احراز هویت"> </form> </div> <form action="#" method="post" id="SignUpForm"> <div class="form-group"> <label for="register_first_name">نام</label> <input type="text" name="register_first_name" id="register_first_name" > </div> <div class="form-group"> <label for="register_last_name">نام خانوادگی</label> <input type="text" name="register_last_name" id="register_last_name" > </div> <div class="form-group"> <label for="register_mobile">شماره موبایل</label> <input type="text" name="register_mobile" class="isNumberic" id="register_mobile" maxlength="11"> </div> <div class="form-group"> <label for="register_first_name">کلمه عبور</label> <input type="password" name="register_password" id="register_password" > </div> <input type="submit" class="btn btn-default" id="SubmitRegisterForm" value="ثبت نام"> </form>  
      javascript
      function AuthMobile(){ var ajaxurl = "/wp-admin/admin-ajax.php"; var register_mobile = jQuery("form#SignUpForm #register_mobile").val(); jQuery.ajax({ type: 'POST', dataType: 'json', url: ajaxurl, data: { 'action' : 'exir_danesh_Auth_With_Mobile', 'mobile' : register_mobile, }, success: function (data) { if (data.status !== 'true' ) { jQuery(".AuthWithMobile").show(); jQuery("#AuthCodeDefault").val(data.auth_code); return true; return true; }else{ alert("کلمه عبور وارد شده اشتباه می باشد."); } }, error: function (errorThrown) { } }); } jQuery(document).ready(function () { jQuery("#AuthWithMobileForm").submit(function (e) { e.preventDefault(); var auth_code = jQuery("#AuthMobileCode").val(); auth_code = + auth_code * 3781; var Current_auth_code = jQuery("#AuthCodeDefault").val(); if(auth_code.length < 4){ jQuery("form#AuthWithMobileForm #AuthWithMobileForm").css("border","1px solid #ff0035"); return false; } else{ jQuery("form#AuthWithMobileForm #AuthWithMobileForm").removeAttr("style"); } if(auth_code == Current_auth_code){ var ajaxurl = "/wp-admin/admin-ajax.php"; var register_first_name = jQuery("form#SignUpForm #register_first_name").val(); var register_last_name = jQuery("form#SignUpForm #register_last_name").val(); var register_mobile = jQuery("form#SignUpForm #register_mobile").val(); var register_password = jQuery("form#SignUpForm #register_password").val(); jQuery.ajax({ type: 'POST', dataType: 'json', url: ajaxurl, data: { 'action' : 'exir_danesh_SignUpWith_mobile', 'user_name' : register_mobile, 'user_password' : register_password , 'user_first_name' : register_first_name , 'user_last_name' : register_last_name , }, success: function (data) { if (data.status) { // $(".SignUpMobile#AlertAjax").hide(); // $("form#SignUpForm #SignUpBtn").val(data.message); window.location.reload(); }else{ window.location.reload(); } }, error: function (errorThrown) { window.location.reload(); } }); } else{ jQuery("form#AuthWithMobileForm #AuthWithMobileForm").css("border","1px solid #ff0035"); alert("error"); } }) jQuery("body .isNumberic").on("keypress keyup blur",function () { jQuery(this).val(jQuery(this).val().replace(/[^\d].+/, "")); if ((event.which < 48 || event.which > 57)) { event.preventDefault(); } if(jQuery(this).val() == ""){jQuery(this).val()} }); jQuery("form#SignUpForm").submit(function (e) { e.preventDefault(); var register_first_name = jQuery("form#SignUpForm #register_first_name").val(); var register_last_name = jQuery("form#SignUpForm #register_last_name").val(); var register_mobile = jQuery("form#SignUpForm #register_mobile").val(); var register_password = jQuery("form#SignUpForm #register_password").val(); if(register_first_name.length < 3){ jQuery("form#SignUpForm #register_first_name").css("border","1px solid #ff0035"); return false; } else{ jQuery("form#SignUpForm #register_first_name").removeAttr("style"); } if(register_last_name.length < 3){ jQuery("form#SignUpForm #register_last_name").css("border","1px solid #ff0035"); return false; } else{ jQuery("form#SignUpForm #register_last_name").removeAttr("style"); } if(register_mobile.length < 11){ jQuery("form#SignUpForm #register_mobile").css("border","1px solid #ff0035"); return false; } else{ jQuery("form#SignUpForm #register_mobile").removeAttr("style"); } if(register_password.length < 8){ jQuery("form#SignUpForm #register_password").css("border","1px solid #ff0035"); return false; } else{ jQuery("form#SignUpForm #register_password").removeAttr("style"); } if(AuthMobile()){ return true; } else{ return false; } }); });  
      sms.php
       
      <?php function CurlSend($request,$params,$result = false){ // Generate curl request $session = curl_init($request); // Tell curl to use HTTP POST curl_setopt ($session, CURLOPT_POST, true); // Tell curl that this is the body of the POST curl_setopt ($session, CURLOPT_POSTFIELDS, $params); // Tell curl not to return headers, but do return the response curl_setopt($session, CURLOPT_HEADER, false); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); // obtain response $response = curl_exec($session); curl_close($session); // print everything out if($result){ return true; } } add_action( 'wp_ajax_exir_danesh_Auth_With_Mobile', 'exir_danesh_Auth_With_Mobile' ); add_action( 'wp_ajax_nopriv_exir_danesh_Auth_With_Mobile', 'exir_danesh_Auth_With_Mobile' ); if( !function_exists('exir_danesh_Auth_With_Mobile') ): function exir_danesh_Auth_With_Mobile(){ $mobile = sanitize_text_field($_POST['mobile']); $message = rand(1000,9999); $apiCode = "*************************************************"; $request = 'https://api.kavenegar.com/v1/'.$apiCode.'/verify/lookup.json'; $params = array(); $params['receptor'] = $mobile; $params['token'] = $message; $params['template'] = "VerifyCode"; $send_auth = CurlSend($request,$params); $code = $message * 3781; print json_encode(array("status" => true, "auth_code" => $code)); exit(); } endif; ?>  
      Function.php
      require_once get_template_directory().'/inc/ajaxcall.php'; require_once get_template_directory().'/inc/sms.php';  
      ajaxcall.php
      <?php //SignUp Mobile add_action( 'wp_ajax_exir_danesh_SignUpWith_mobile', 'exir_danesh_SignUpWith_mobile' ); add_action( 'wp_ajax_nopriv_exir_danesh_SignUpWith_mobile', 'exir_danesh_SignUpWith_mobile' ); if( !function_exists('exir_danesh_SignUpWith_mobile') ): function exir_danesh_SignUpWith_mobile(){ $user_name = sanitize_text_field($_POST['user_name']); $user_password = sanitize_text_field($_POST['user_password']); $user_first_name = sanitize_text_field($_POST['user_first_name']); $user_last_name = sanitize_text_field($_POST['user_last_name']); $user = wp_create_user($user_name,$user_password,""); update_user_meta($user,"first_name",$user_first_name); update_user_meta($user,"last_name",$user_last_name); $login = wp_signon(array("user_login" => $user_name,"user_password" => $user_password, "remember" => "true"),true); print json_encode(array('status'=>true,'message'=>"شما با موفقیت ثبت نام شدید لطفا منتظر بمانید...")); exit(); } endif; ?>  
       
    • توسط hamasehyaran
      سلام 
      روزبخیر
      من یه تازه وارد وردپرسی هستم ، حدود 9 ماهه با وردپرس مشغولم .
      کدنویسی هم در حد html و css بلدم. php نمیدونم
      الان هم دارم روی سایت برای انتشارات کتاب کار میکنم.
      یه کاری می خوام انجام بدم که مدت ها درگیرشم.
      میخوام توی صفحه محصولاتم، نویسنده کتاب به صورت لینک شده بیاد و شخص با کلیک کردن روی اون به صفحه نویسنده هدایت بشه.(مثل عکس پیوست)
      چند تا کار انجام دادم ، مثلا با taxonomy ها کار  کردم ولی بلد نبودم ازشون استفاده کنم.
       
      لطفا در این مورد رهنماییم کنید.