ما همواره به دنبال راه هایی برای متفاوت شدن هستیم و شاید خیلی وقت ها به این فکر می کنیم که چگونه می توانیم از سایرین متمایز شویم . زمانی که سایتی را در اختیار داشته باشیم حتما به این مورد فکر کرده ایم که چگونه سایت وردپرسی خود را بهتر از سایت ها دیر کنیم و در واقع آن را سفارش سازی نماییم . این مورد چندادن در وردپرس سخت و یا کار نشدنی نمی باشد بلکه راه های مختلفی برای آن وجود دارد . شما به کمک افزونه یا قطعه کئ می توانید این تمایز را به راحتی به دست آورید ، زمانی که لازم باشد از بین قطعه کد و افزونه برای کاری یکی را انتخاب کنیم ، اکثریت افزونه را برمی گزینند چرا که هم کار کرد آن آسان تر می باشد و هر روز بر تعداد آنها افزوده می شود در صورتی که استفاده از قطعه کد نیازمند دقت بیشتری خواهد بود .
ما امروز تصمیم داریم با قطعه کد ها کار کنیم و تمایز سایت خود را به وسیله کد به وجود آوریم ، با ما همراه باشید .
کد ها در وردپرس
شما زمانی که می خواهید از قطعه کد ها استفاده کنید باید بدانید که راه های زیادی برای استفاده از آنها وجود دارد که اکثر آنها برای ایجاد تغییر در فایل function.php قرار می گیرند چرا که این فابل در قالب خاص و کاربردی است و باید مواظب ان بوده تا آسیبی نبیند .
برای مقابله با تخریب این فایل چند راه پیش رو دارید:
- یک افزونه ی سفارشی بنویسید و ایجاد کنید .
- از افزونه های پشتیبانی از قطعه کد در وردپرس بهره بگیرید .
- از افزونه های مخصوص به قالب استفاده کنید .
- از child theme استفاده کرده و قطعه کدها را درون آن قرار دهید .
راهنمایی : شما با استفاده از افزونه ی رایگانcode snippets میتوانید تنظیمات سفارشی در سایت را انجام دهید و دیگر نیازی نیست فایل function را تغییر دهید .
در اینجا قطعه کدهایی را برای تغییرات مختلف به کار برده می شوند را با هم بررسی می کنیم.
لینک کردن اتوماتیک به اکانت توییتر
این شبکه ی اجتماعی بسیار قدرتمند است و کاربران زیادی را جذب خود کرده است به همین خاطر پیشنهاد میشود که هر زمان محتوایی در وبسایت خود ایجاد کردید حتما آن را در این شبکه اجتماعی به اشتراک بگذارید.
حال برای اینکه این عملیات را به صورت اتوماتیک انجام دهید میتوانید از قطعه کد زیر استفاده کنید:
function content_twitter_mention($content) { return preg_replace('/([^a-zA-Z0-9-_])@([0-9a-zA-Z_]+)/', $1@$2, $content); } add_filter('the_content', 'content_twitter_mention'); add_filter('comment_text', 'content_twitter_mention');
استفاده از شورت کد ها در ابزارک
گاهی اوقات لازم است امکانی را در ابزارک های سایت ایجاد کنیم که این امکان تنها با کمک شورت کدها امکان پذیر است. شما میتوانید برای فعالسازی این امکان در سایت از کد زیر استفاده نمایید:
add_filter( 'widget_text', 'do_shortcode' );
ریدایرکت کردن کردن کاربر پس از ثبت نام
ریدایرکت کردن به معنی هدایت به مسیر دیگر می باشد ، چنانچه می خواهید کاربران پس از ثبت نام در سایت به صفحه ی دیگری منتقل شوند می توانید از قطعه کد زیر استفاده کنید:
function wps_registration_redirect(){ return home_url( '/finished/' ); } add_filter( 'registration_redirect', 'wps_registration_redirect' );
ایجاد محدودیت در بازنگری پست ها
شما با هر بار دیدن و بازنگری نوشته ها در وردپرس ، موجب می شوید ، اطلاعات دوباره در پایگاه داده ذخیره شوند برای حل این مشکل می توانید از قطعه کد زیر استفاده کنید:
if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', 5); if (!defined('WP_POST_REVISIONS')) define('WP_POST_REVISIONS', false);
استفاده از سال در نوشته ها
اگر مایل باشید تاریخ و سال را در نوشته های خود قرار دهید باید از قطعه کد زیر بهره مند شوید تا به راحتی بتوانید این امکان را در نوشته های خود فعال کنید :
function year_shortcode() { $year = date('Y'); return $year; } add_shortcode('year', 'year_shortcode');
حذف امکان حفاظت از عناوین
شما زمانی که نوشته ای را منتشر می کنید ،عنوان این نوشته از لحاظ امنیتی مورد بررسی قرار میگیرد شما برای اینکه بتوانید بدون محدودیت نوشته ی خود را ایجاد کنید میتوانید از قطعه کد در وردپرس کمک بگیرید:
function the_title_trim($title){ $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace Protected with '' // What to replace Private with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim');
نمایش تاریخ نوشته ها
شما زمانی که محتوایی را درون سایت قرار میدهید بعد از گذشت مدتی محتوا ها قدیمی می شوند و نیازمند به روز رسانی هستند از سمت دیگر کاربر نیز به دنبال اطلاعات به روز و آپدیت می گیردد ، به همین خاطر برای اینکه بعد از بروزرسانی تاریخ انتشار نیز به روز شود و نیاز به تغییر دستی نباشد و تاریخ در پست موجود باشد ، میتوانید از قطعه کد در وردپرس استفاده کنید:
Posted on <?php the_time('F jS, Y') ?> <?php $u_time = get_the_time('U'); $u_modified_time = get_the_modified_time('U'); if ($u_modified_time != $u_time) { echo "and last modified on "; the_modified_time('F jS, Y'); echo ". "; } ?>
حذف شماره ورژن وردپرس
شاید خیلی از ما بخواهیم شماره نسخه وردپرس خود را به هر دلیلی و یا به خاطر امنیت پنهان کنیم برای این تنها کافی است از کد زیر استفاده کنید :
&lt;?php // Remove the version number of WP // Warning - this info is also available in the readme.html file in your root directory - delete this file! remove_action('wp_head', 'wp_generator'); ?&gt;
حذف فیلد آدرس در دیدگاه ها
برای اینکه اسپم ها شما را گم کرده و به سمت دیدگاه های شما نیایند و مشکلاتی را برای شما به وجود نیاورند بهتر است فیلد آدرس را در این بخش حذف کنید:
function remove_comment_fields($fields) { unset($fields['url']); return $fields; } add_filter('comment_form_default_fields','remove_comment_fields');
نمایش تعداد تصاویر ضمیمه شده در نوشته
شما اگر به عنوان یک نویسنده بخواهید تصاویری را در نوشته قرار دهید باید تعداد تصاویر ضمیمه شده را مشخص کنید برای این کار از کد زیر کمک بگیرید:
add_filter('manage_posts_columns', 'posts_columns_attachment_count', 5); add_action('manage_posts_custom_column', 'posts_custom_columns_attachment_count', 5, 2); function posts_columns_attachment_count($defaults){ $defaults['wps_post_attachments'] = __('Attached'); return $defaults; } function posts_custom_columns_attachment_count($column_name, $id){ if($column_name === 'wps_post_attachments'){ $attachments = get_children(array('post_parent'=>$id)); $count = count($attachments); if($count !=0){echo $count;} } }
فشرده سازی اتوماتیک تصاویر JPG
برای بهینه سازی سایت خود و افزایش سرعت لود آن باید تصاویر سایت را فشرده کنید ، بسیاری از ما برای انجام این کار از افزونه wp smush استفاده می کنیم ولی شما با استفاده از کد نیز می توانید این کار را در سایت خود انجام دهید :
add_filter( 'jpeg_quality', 'smashing_jpeg_quality' ); function smashing_jpeg_quality() { return 100; }
استفاده از تصاویر ویژه
اگر شما بخواهید در کنار نوشته ها و محتواهای سایت خود از تصاویر ویژه استفاده کنید باید قطعه کد زیر را به کار ببرید :
add_action('save_post', 'wpds_check_thumbnail'); add_action('admin_notices', 'wpds_thumbnail_error'); function wpds_check_thumbnail($post_id) { // change to any custom post type if(get_post_type($post_id) != 'post') return; if ( !has_post_thumbnail( $post_id ) ) { // set a transient to show the users an admin message set_transient( "has_post_thumbnail", "no" ); // unhook this function so it doesn't loop infinitely remove_action('save_post', 'wpds_check_thumbnail'); // update the post set it to draft wp_update_post(array('ID' => $post_id, 'post_status' => 'draft')); add_action('save_post', 'wpds_check_thumbnail'); } else { delete_transient( "has_post_thumbnail" ); } } function wpds_thumbnail_error() { // check if the transient is set, and display the error message if ( get_transient( "has_post_thumbnail" ) == "no" ) { echo "<div id='message' class='error'><p><strong>You must select Featured Image. Your Post is saved but it can not be published.</strong></p></div>"; delete_transient( "has_post_thumbnail" ); } }
حذف یا پنهان کردن دسته ها در صفحه ی اصلی
شاید شما تمایل داشته باشید دسته ها را از صفحه ی اصلی خود حذف کنید چرا که بسیاری از قالب وردپرس پرمیوم این قابلیت را دارند اما برای قالب های رایگان وردپرس میتوانید با کد زیر این امکان را فراهم کنید:
function exclude_category_home( $query ) { if ( $query->is_home ) { $query->set( 'cat', '-5, -34' ); } return $query; } add_filter( 'pre_get_posts', 'exclude_category_home' );
نمایش نتایج در موتور جستجوی سایت
شاید شما بخواهید تعداد نتایج موجود در موتور های جستجو را در سایت خود ببینید این کار کاملا شدنی است . تنها با قرار دادن کد زیر در سایت خود از چنین امکانی بهره مند شوید .
function limit_posts_per_page() { if ( is_category() ) return 2; else return 5; // default: 5 posts per page } add_filter('pre_option_posts_per_page', 'limit_posts_per_page');
دیدید که با کمک کد نیز میتوان خیلی از کارها را که به وسیله افزونه وردپرس در سایت انجام میشود را انجام داد پس تنها افزونه ها نیستند که میتوانند سایت شما را سفارش سازی کنند بلکه این امکان با کد ها نیز شدنی می باشد تنها نکته ای که در هنگام استفاده از کد ها باید مد نظر داشت ، این است قبل از استفاده از سایت خود نسخه پشتیبان تهیه کنید .
با تشکر از همراهی شما – شاد باشید.
منبع: آپ تم مرجع: آموزش وردپرس