ساخت پنل کاربری وردپرس بدون افزونه – اختصاصی

29 تیر 1399 [wpdrating metakey="all" show-lable = false show-count = false show-average = true itemprop = false ]

نویسنده : قلب وردپرس | دسته بندی: آموزشی | ۰ نظر | ۴۳۸ بازدید

چکیــــــده ...

آموزش ساخت پنل کاربری وردپرس بدون افزونه – اختصاصی در وردپرس در این ساعت از دانشگاه قلب وردپرس در خدمت شما هستیم با آموزش ساخت پنل کاربری وردپرس بدون افزونه با مطالعه این آموزش شما قادر خواهید بود تا براحتی یک پنل کاربری برای سایت خود راه اندازی کنید. با فرض بر اینکه در این […]

ساخت پنل کاربری وردپرس بدون افزونه - اختصاصی

آموزش ساخت پنل کاربری وردپرس بدون افزونه – اختصاصی در وردپرس

در این ساعت از دانشگاه قلب وردپرس در خدمت شما هستیم با آموزش ساخت پنل کاربری وردپرس بدون افزونه

با مطالعه این آموزش شما قادر خواهید بود تا براحتی یک پنل کاربری برای سایت خود راه اندازی کنید.

با فرض بر اینکه در این پنل کاربری ما میخواهیم چند یوزر متا را اضافه کنیم که یک متن را

هنگام ثبت نام از کاربر دریافت کنیم , بنابر این در اولین مرحله کد های زیر را برای اضافه کردن یوزر متا

به فایل فانکشن قالب خود اضافه میکنیم :

یوزرمتا چیست ؟

یوزر متا در واقع اطلاعات یک کاربر را میگویند که یک نام و شناسه دارد و در انواع مختلف متنی و … میباشد

بعنوان مثال نام کاربری , رمز , نام نمایشی و… را یوزر متا یا اطلاعات کاربر مینامند.

 

کد شماره یک : تکه کد اضافه کردن یک فیلد به پروفایل کاربر ( فیلد متنی )

add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
function extra_user_profile_fields( $user ) { ?>
    <h3>اطلاعات حساب بانکی</h3>
    <tr>
        <th><label for="mobile">شماره تماس</label></th>
        <td>
            <input type="text" name="mobile" id="shomarehesab" value="<?php echo esc_attr( get_the_author_meta( 'mobile', $user->ID ) ); ?>" class="regular-text" /><br />
            <span class="description"><?php _e("لطفا شماره تماس خود را وارد کنید"); ?></span>
        </td>
    </tr>

سپس برای ذخیره سازی این فیلد کد زیر را در ادامه کد بالا قرار میدهیم :

add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );

function save_extra_user_profile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) ) { 
        return false; 
    }
    update_user_meta( $user_id, 'mobile', $_POST['mobile'] );
}

 

تا به اینجای آموزش ما فقط یک فیلد را به پروفایل کاربر اضافه کردیم

در ادامه به نوشتن پنل کاربری اختصاصی میپردازیم.

در پوشه قالب فعلی سایت خود یک فایل با پسوند php با نام دلخواه میسازیم

در این آموزش ما نام فایل را panel.php انتخاب میکنیم.

در اولین خط فایل پنل کاربری , دستور زیر را درج میکنیم :

/*
Template Name:panel
*/

 

پس از نوشتن این دستور شروع به کد نویسی پنل میکنیم .

 

در ادامه یک شرط را برای ورود کاربر قرار میدهیم که در صورتی که کاربر وارد شده بود پنل نمایش داده شود

و در غیر اینصورت یک متن را به کاربر نمایش دهیم و یا او را به فرم ورود هدایت کنیم.

بنابر این مینویسیم :

 

if(!is_user_logged_in()){

در تکه کد فوق ما شرط عدم ورود کاربر را تعیین کرده ایم که اگر کاربر وارد نشده بود.

بنابر این در ادامه کد ما به شکل زیر نمایش داده خواهد شد . :

 

if(!is_user_logged_in()){
echo "شما وارد پنل کاربری نشده اید, برای ورود به پنل اقدام کنید.";
}

 

در کد فوق شرط عدم ورود کاربر برقرار شده که در صورت وارد نشدن کاربر به پنل پیغام فوق نمایش داده خواهد شد.

در ادامه شرط ورود را تعیین میکنیم و پنل را مینویسیم :

 

<?php if(is_user_logged_in()){ ?>
<?php $current_user = wp_get_current_user(); ?>
<div class="firstname">
نام شما : <?php echo $current_user->user_firstname;?>
</div>
<?php } ?>

در کد فوق ما ورود کاربر را بررسی کردیم که اگر کاربر وارد شده بود اطلاعات او را نمایش دهد.

به همین صورت شما میتوانید پنل را توسعه دهید و بصورت حرفه ای آن را طراحی کنید.

در ادامه برخی از مواردی که نیاز است در پنل کاربر نمایش داده شود را برایتان قرار داده ام.

 

نمایش کلیه محصولات خریداری شده کاربر در پنل کاربری : 

در ساده ترین حالت ممکن شما میتوانید از افزونه  my purchased products استفاده نمایید و شورتکد آن را در فایل مربوط به پنل کاربری فراخوانی کنید.

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

 

نمایش مطالب ارسال شده توسط کاربر :
<?php $the_user_id = $current_user->ID;
if ($the_user_id) { ?>
<?php
query_posts("author=$the_user_id&posts_per_page=-1&post_status=publish,draft" );
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="neveshte">
<img src="<?php the_post_thumbnail_url('thumbnail');?>" class="img-fluid" title="<?php the_title();?>" alt="<?php the_title();?>">
<div class="info">
<?php
if(get_post_field('post_status') == 'publish'){
    echo '<span style="color:white;background:green;padding:3px 7px;border-radius:5px;font-size: 8px;">منتشر شده</span>';
}elseif(get_post_field('post_status') == 'draft'){
    echo '<span style="color:white;background:#04aff4;padding:3px 7px;border-radius:5px;font-size: 8px;">در انتظار بررسی</span>';
}elseif(get_post_field('post_status') == 'failed'){
    echo '<span style="color:white;background:#ce4014;padding:3px 7px;border-radius:5px;font-size: 8px;">رد شده</span>';
}
?>
</span>
<span>
    <a href="https://wpheart.ir/wp-admin/post.php?post=<?php the_ID();?>&action=edit&classic-editor">ویرایش نوشته</a>
</span>
<p>
<a class="linkneveshte" href="<?php the_permalink() ?>"><?php the_title(); ?></a>
</p>
</div>
<?php   
endforeach;
?>	
</div>      
<?php endwhile; else: ?>
<p><?php _e('هیچ پستی توسط شما منتشر نشده است'); ?></p>
<?php endif; ?>
<?php wp_reset_query(); ?>
<?php }

 

و بسیاری از موارد دیگر که با توجه به نیاز خود میتوانید آنهارا تعبیه کنید.

 

توجه :

کلیه کدها بصورت اختصاصی نوشته شده اند و در حال اضر بر روی پروژه های دیگر در حال استفاده میباشند.

 

نکته پایانی :

پس از پایان کدنویسی برای پنل کاربری , به قسمت برگه ها رفته و یک برگه جدید بسازید و قالب برگه را

قالب ساخته شده انتخاب کنید و منتشر کنید.

پنل کاربری را تست کنید.

 

در صورتی که سوال و مشکلی در رابطه با این مطلب داشتید در بخش نظرات با ما در میان بگذارید.

 

پایان/.

 

مطالب زیر به شما پیشنهاد میشوند :

افزایش امنیت وردپرس

آموزش استفاده از پیشخوان

دوره طراحی قالب وردپرس

پیشنمایش اطلاعات گراویتی فرم

همچنین میتوانید ویدیو های آموزشی ما را در آپارات مشاهده نمایید.

 

قلب وردپرس

قلب وردپرس نویسنده مقاله

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.