در ادامه مجموعه آموزشهای مربوط به طراحی قالب وردپرس، در این مقاله از سایت نیماد به معرفی کدهای کاربردی در طراحی قالب سایت وردپرس خواهیم پرداخت، این مقاله مناسب افرادی است که قصد طراحی سایت با وردپرس را دارند و در آینده نیز این پست آپدیت و بروزرسانی خواهد شد. پس اگر طراح قالب وردپرس هستید و یا قصد آموزش طراحی قالب برای وردپرس را دارید، پیشنهاد میکنم این مقاله را از دست ندهید.
فهرست مطالب این صفحه
کد کاربردی در طراحی و توسعه قالب وردپرس
در طراحی قالب وردپرس با یکسری از توابع و فانکشنها سروکار خواهید داشت، که با فراگیری آنها به راحتی میتوانید قالبهای بسیار زیبا برای سیستم مدیریت محتوای وردپرس طراحی کنید.
در ادامه به معرفی توابع و کدهای کاربردی که در طراحی قالب سایت و توسعه قالب وردپرس نیاز داریم خواهیم پرداخت.
نمایش شورت کد در کدهای قالب سایت
احتمالا با شورت کدها در وردپرس آشنا هستید، درصورتی که بخواهید از یک شورت کد در سورس قالب خود استفاده کنید، به صورت زیر بایستی عمل کنید.
<?php echo do_shortcode('[نام شورت کد]');?>
درکد بالا شورت کد خود را جایگزین [نام شورت کد] کنید.
نمایش تاریخ روز در قالب وردپرس
در صورتی که از افزونه parsidate برای شمسی سازی وردپرس خود استفاده میکنید، درصورتی که تکه کد زیر را در هرجای قالب قرار دهید، تاریخ روز را برمیگرداند.
<?php echo parsidate ('امروز : l, j F , Y ') ; ?>
نتیجه کد به این صورت میباشد: امروز: پنجشنبه 30 تیر 1401
نمایش اطلاعات یوزر فعلی در قالب وردپرس
در صورتی که بخواهید اطلاعات کاربر فعلی (کاربری که وارد سایت شده) را در قسمتی از سایت (به طور مثال پنل کاربری) نمایش دهید، به صورت زیر عمل میکنید.
<?php
$current_user = wp_get_current_user();
echo 'یوزرنام ' . $current_user->user_login . '<br />';
echo 'ایمیل کاربر: ' . $current_user->user_email . '<br />';
echo 'نام: ' . $current_user->user_firstname . '<br />';
echo 'نام خانوادگی: ' . $current_user->user_lastname . '<br />';
echo 'نام نمایشی: ' . $current_user->display_name . '<br />';
echo 'آیدی کاربر: ' . $current_user->ID . '<br />';
?>
با استفاده از تابع current_user میتوانیم اطلاعات کاربر شامل یوزرنام / ایمیل / نام و نام خانوادگی و … را دریافت و در مکان مورد نیاز نمایش داده شود. که در مثال بالا با ذکر توضیحات اطلاعات دریافت شده است.
شرط وارد سایت بودن کاربر در وردپرس
درصورتی که بخواهیم یک شرط تعریف کنیم که درصورتی که کاربر وارد سایت است یک اطلاعاتی را نشان دهد و برعکس درصورتی وارد سایت نیست اطلاعات دیگری و بطور کلی برای یوزر عضو و غیر عضو تفکیکی لحاظ کنیم از کد زیر استفاده میکنیم.
<?php
if ( is_user_logged_in() ) {?>
<a href="https://tsn.co.ir/panel">پنل کاربری</a>
<?php } else {?>
<a href="https://tsn.co.ir/login">ورود به سایت</a>
<?php }
?>
در مثال بالا تنظیم شده در صورتی که کاربر وارد سایت شده باشد، لینک پنل کاربری نمایش داده شود و درصورتی که کاربر وارد سایت نشده است، لینک ورود به سایت نمایش داده شود.
حال شما میتوانید با توجه به نیاز و توسعه قالب وردپرس خود کد بالا را تغییر دهید.
همچنین درصورتی که میخواهید شرط را منفی کنید. (یعنی اگر کاربر وارد سایت نشده باشد) با گذاشتن ! قبل شرط، ماهیت دستور را تغییر دهید.
<?php if ( !is_user_logged_in() ) {?>
دکمه خروج از سایت در قالب وردپرس
برای اینکه بخواهید دکمه خروج از سایت در سایت خود قرار دهید از کد زیر استفاده کنید.
<?php echo wp_logout_url( home_url() ); ?>
کد بالا را بایستی در تگ a قرار دهید، به مثال زیر توجه کنید:
<a href="<?php echo wp_logout_url( home_url() ); ?>" class="toggle-btn toggle-logout">خروج</a
در کد بالا کاربر با کلیک روی لینک خروج، ضمن خروج از وب سایت به صفحه اصلی سایت ریدایرکت خواهد شد.
انتخاب خودکار متن داخل تکست بار Input
احتمالا گاها در برخی از سایتها دیده اید که کاربر با کلیک روی یک متن به طور خودکار انتخاب میشود.
این مورد در سایتهای دانلود نرم افزار برای انتخاب پسورد فایل زیپ بیشتر مورد استفاده قرار میگیرد، برای توسعه قالب وردپرس و این کار از کد زیر استفاده کنید.
<textarea onclick="this.focus();this.select()" readonly="readonly">متن مورد نظر</textarea>
در مثال بالا متن خود را جایگزین متن مورد نظر کنید.
غیرفعال کردن اعلانهای پیشخوان وردپرس
اعلانهای پیشخوان وردپرس گاها ممکنه اعصاب خردکن باشد و دوست داشته باشید آنها را غیرفعال و مفخی کنید.
برای این کار کدهای زیر را در فایل function قالب وردپرس خود قرار دهید.
add_action('admin_enqueue_scripts', 'hidenotice_admin_theme_style');
add_action('login_enqueue_scripts', 'hidenotice_admin_theme_style');
function hidenotice_admin_theme_style() {echo '<style>.update-nag, .updated, .error, .is-dismissible { display: none !important; }</style>';}
تغییر نوع تاریخ انتشار مطلب در قالب وردپرس
اگر توجه کرده باشید ساختار نمایش تاریخ انتشار مطلب در کوئریهای نمایش آخرین مطالب وردپرس یا صفحه داخلی مطلب و … به صورت تاریخ است.
درصورتی که بخواهید ساختار آن را به n روز پیش تغییر و توسعه قالب وردپرس دهید کد زیر را در فایل function قالب خود قرار دهید.
function get_post_time_ago(){ global $post; return human_time_diff( get_post_time('U', false, $post->ID), current_time('timestamp') )." پیش"; }
پس از آن بایستی در سورس قالب در مکان هایی که کد نمایش تاریخ مطلب که عمدتا به صورت <?php the_date(); ?>
است را حذف و تکه کد: <?php echo get_post_time_ago();?>
قرار دهید. پس از آن تاریخ مطلب بجای تاریخ کلی و ساده به صورت 2 ساعت پیش یا 10 روز پیش و … نمایش داده خواهد شد.
تغییر نوع تاریخ درج نظر توسط کاربر در قالب وردپرس
حال درصورتی بخواهید تاریخ درج نظر کاربران را نیز به سبک بالا تغییر دهید، کد زیر را در کد زیر را در فایل function قالب خود قرار دهید.
function get_comment_time_ago(){ return human_time_diff( get_comment_time('U'), current_time('timestamp') )." پیش";}
if( !is_admin() ){add_filter('get_comment_date', 'get_comment_time_ago');}
در این حالت نیاز به کار خاص دیگری نیست و به صورت خودکار ساختار تاریخ درج کامنتهای کاربران تغییر داده خواهد شد.
همراهان عزیز، درصورتی که سوال یا مشکلی دارید، از طریق بخش نظرات سایت با ما درمیان گذاشته، سعی میکنیم در کوتاهترین زمان ممکن به کامنتها پاسخ و رسیدگی کنیم.