امروز قسمت ششم و آخر ترفندهای فایل functions وردپرس رو براتون آماده کردیم . در آموزش های قبلی 26 ترفند برای شما گفته شد که سعی شد اکثرا کاربردی باشند . در اینجا ما 6 ترفند دیگر براتون آماده کردیم که در مجموع این 6 قسمت 32 ترفند از ترفندهای فایل functions وردپرس رو براتون گفته باشیم .
ترفندهای فایل functions وردپرس
27- استفاده از کلاس زوج و فرد در نوشته های وردپرس
شاید شما بخواهید یک کلاس زوج و فرد داشته باشید . به صورتی که نوشته ها یکی در میان با یکدیگر متفاوت باشد . شما میتوانید کد زیر را در فایل Function قالب وردپرسی خود قرار دهید .
function oddeven_post_class ( $classes ) { global $current_class; $classes[] = $current_class; $current_class = ($current_class == 'odd') ? 'even' : 'odd'; return $classes; } add_filter ( 'post_class' , 'oddeven_post_class' ); global $current_class; $current_class = 'odd';
پس از انجام اینکار باید برای دو نوع کلاس استایل جداگانه در css تعریف کنید تا متمایز باشند .
.even { background:#f0f8ff; } .odd { background:#f4f4fb; }
ما از کد سی اس اس بالا استفاده کرده ایم که نتیجه ای مشابه تصویر زیر داشته است .

همانطور که در تصویر مشخص است رنگ پس زمینه باکس مربوط به نوشته در نوشته اول و دوم متفاوت است .
28 – افزودن انواع فایل اضافی آپلود شده در وردپرس
به صورت پیشفرض وردپرس به شما اجازه آپلود تعداد نوع فایل محدودی را در قسمت رسانه خود میدهد . با این حال ، شما میتوانید فایل های دلخواه به فایل های مجاز آپلودی استفاده کنید .
function my_myme_types($mime_types){ $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files return $mime_types; } add_filter('upload_mimes', 'my_myme_types', 1, 1);
کد بالا به شما اجازه میدهد تا فایل های با پسوند SVG و PSD نیز به جمع فایل های خود اضافه کنید .
29 – حذف لینک های پیشفرض تصاویر آپلودی در وردپرس
به صورت پیشفرض در وردپرس زمانی که شما یک تصویر آپلود میکنید در قسمت لینک ، تصویر به فایل اصلی آپلودی لینک خواهد شد . اگر کاربر بر روی تصویر کلیک کند به آدرس فایل تصویری منتقل خواهد شد . برای غیر فعال کردن این حالت و حذف لینک از کد زیر استفاده کنید .
function wpi_imagelink_setup() { $image_set = get_option( 'image_default_link_type' ); if ($image_set !== 'none') { update_option('image_default_link_type', 'none'); } } add_action('admin_init', 'wpi_imagelink_setup', 10);
نتیجه در تصویر زیر مشخص است :

30 – افزودن جعبه اطلاعات نویسنده به نوشته
اگر شما بخواهید اطلاعاتی مربوط به نویسنده مطلب در زیر مطلب قرار دهید میتوانید از کد زیر استفاده کنید .
function wpi_author_info_box( $content ) { global $post; // Detect if it is a single post with a post author if ( is_single() && isset( $post->post_author ) ) { // Get author's display name $display_name = get_the_author_meta( 'display_name', $post->post_author ); // If display name is not available then use nickname as display name if ( empty( $display_name ) ) $display_name = get_the_author_meta( 'nickname', $post->post_author ); // Get author's biographical information or description $user_description = get_the_author_meta( 'user_description', $post->post_author ); // Get author's website URL $user_website = get_the_author_meta('url', $post->post_author); // Get link to the author archive page $user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author)); if ( ! empty( $display_name ) ) $author_details = '<p class="author_name">About ' . $display_name . '</p>'; if ( ! empty( $user_description ) ) // Author avatar and bio $author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( $user_description ). '</p>'; $author_details .= '<p class="author_links"><a href="'. $user_posts .'">View all posts by ' . $display_name . '</a>'; // Check if author has a website in their profile if ( ! empty( $user_website ) ) { // Display author website link $author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow">Website</a></p>'; } else { // if there is no author website then just close the paragraph $author_details .= '</p>'; } // Pass all this info to post content $content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>'; } return $content; } // Add our function to the post content filter add_action( 'the_content', 'wpi_author_info_box' ); // Allow HTML in author bio section remove_filter('pre_user_description', 'wp_filter_kses');
پس از اینکار برای اینکه وضعیت بهتری برای باکس اطلاعات داشته باشید از کد زیر میتوانید استفاده کنید :
.author_bio_section{ background: none repeat scroll 0 0 #F5F5F5; padding: 15px; border: 1px solid #ccc; } .author_name{ font-size:16px; font-weight: bold; } .author_details img { border: 1px solid #D8D8D8; border-radius: 50%; float: left; margin: 0 10px 10px 0; }
31 – غیر فعال کردن XML-RPC در وردپرس
XML-RPC امکانی است برای اتصال برنامه های جانبی به وردپرس . حال ممکن است در بعضی مواقع این نیز خود مشکل امنیتی داشته باشد . برای غیر فعال کردن آن میتوانید از کد زیر استفاده کنید .
add_filter('xmlrpc_enabled', '__return_false');
32 – لینک خودکار تصویر شاخص به نوشته ها
برای اینکار از کد زیر استفاده کنید :
function wpi_autolink_featured_images( $html, $post_id, $post_image_id ) { If (! is_singular()) { $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>'; return $html; } else { return $html; } } add_filter( 'post_thumbnail_html', 'wpi_autolink_featured_images', 10, 3 );