بایگانی

نوشته های برچسب زده شده ‘نویسنده میهمان’

+۱۳ ترفند کاربردی برای توابع وردپرس (روشهای هک در functions.php)

۲۰ شهریور ۱۳۸۹ ۳۷ دیدگاه

در فولدر پوسته ها، فایلی به نام functions.php، فایل فراموش شده ولی قدرتمند وردپرس که توابع و عملکردهای وبلاگ را کنترل می کند. در واقع با اضافه کردن یک سری کد به این فایل، این فایل شبیه یک افزونه عمل خواهد کرد و بسیاری از کارهای عجیب با آن دور از ذهن نیست! با اضافه کردن این کدها، می توان هسته وردپرس را بدون دستکاری در فایل های اصلی هسته وردپرس تغییر و شخصی سازی کرد. تغییر در این فایل یک مزیت دیگر هم دارد و آن این که همه تغییرات و کد ها در یک فایل در کنار هم هستند و این بسیاری از کارها را آسانتر می کند.

در ادامه با چند ترفند بسیار جالب و مفید برای فایل functions.php وردپرس آشنا خواهیم شد.

۱- اضافه کردن فاویکن به وبلاگ:

فاویکن اصطلاحا به آیکون کوچکی که در کنار آدرس بار به نمایش در می آید گفته می شود. فاویکن ها در واقع نماد و نشانه یک وبلاگ (برند) به شمار می روند. برای داشتن یک فاویکن اختصاصی در وردپرس به هیچ افزونه ای احتیاج ندارید. کافیست کد زیر را به functions.php اضافه کنید.

// add a favicon to your
 function blog_favicon() {
 echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.get_bloginfo('wpurl').'/favicon.ico" />';
 }
 add_action('wp_head', 'blog_favicon');

در ادامه شما باید فایل .ico (فاویکن) خود را در هاست خود در پوشه ای که وردپرس نصب شده است (روت) آپلود کنید.

میتوانید از این سایت برای طراحی فاویکن خود بهره بگیرید یا از فاویکن های طراحی شده و بی نهایت زیبا استفاده کنید.

۲- اضافه کردن لوگوی دلخواه در پیشخوان

همینطور که در سمت راست بالای پیشخوان خود می بینید لوگوی وردپرس (و جدیدا وردپرس فارسی) وجود دارد. که می توانید آنرا به دلخواه به لوگوی اختصاصی وبلاگتان تغییر دهید. شاید بپرسید که پیشخوان فقط برای خودمان قابل دیدن است و این کار چه فایده ای دارد؟

اولا مهم نیست که شخص دیگری آن را نبیند. مهم خود شما هستید! 😉 پیشخوان با لوگوی وبلاگ شما قطعا زیباتر و دلچسب تر خواهد بود و از دیدن آن ذوق خواهید کرد!

ثانیا این لوگو در وبلاگ های با چند نویسنده می تواند بسیار مفید باشد.

و ثالثا: طراحان پوسته وردپرس (بخوانید فارسی سازان پوسته ها!) از این امکان می توانند نهایت استفاده را ببرند. چگونه؟ با قرار دادن لوگوی خود، در پیشخوان افرادی که از پوسته آن ها (یا ترجمه شده آن ها!) استفاده می کنند.

برای اینکار نیاز به چیزی ندارید. فقط کافیست کد زیر را در functions.php قرار دهید.

    //hook the administrative header output
    add_action('admin_head', 'my_custom_logo');

    function my_custom_logo() {
    echo '
    <style type="text/css">
    #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
    </style>
    ';
    }

images/custom-logo.gif مسیر عکس لوگوی شماست.

۳- تغییر پانوشت در پیشخوان وردپرس

مانند مورد قبلی. اما در این حالت پانوشت (فوتر) پیشخوان اختصاصی می شود. باز هم مخصوص طراحان نداشته وردپرس فارسی! عیبی ندارد! خداوند مترجمان را آفرید 😉 همچنین مفید برای وبلاگ ها با چند نویسنده. کد زیر را اضافه کنید.

    function remove_footer_admin () {
    echo 'Powered by <a href="http://www.wp-persian.com" target="_blank">Persian WordPress</a> | Designed by <a href="http://mirani.ir" target="_blank">mEhdi mirani</a> | Supported by: <a href="http://planet.wp-persian.com" target="_blank">WP-Persian Planet</a></p>';
    }

    add_filter('admin_footer_text', 'remove_footer_admin');

۴- تغییر نیم رخ ها (Gravatar) پیش فرض در وردپرس

همینطور که می دانید، پیشفرض نیم رخ در وردپرس (برای افرادی که گراواتور ندارند) شکل ناشناس است. که در بخش گفتگوها در پیشخوان می توان آنرا به شکل های پیش فرض دیگر تغییر داد. تا حالا با خود فکر کردید چرا به جای این لوگوها، برای افراد ناشناس، لوگوی خودمان را نشان ندهیم؟ اینکار به شناسایی وبلاگ و لوگو بسیار کمک خواهد کرد. کافیست کد زیر را اضافه کنید.

    add_filter( 'avatar_defaults', 'newgravatar' );

    function newgravatar ($avatar_defaults) {
    $myavatar = get_bloginfo('template_directory') . '/images/gravatar.gif';
    $avatar_defaults[$myavatar] = "Mirani.ir";
    return $avatar_defaults;
    }

لوگوی خود را در پوشه images آپلود کنید. حالا لوگوی پیش فرض را به لوگوی خودتان تغییر دهید.

۵- افزودن Google Analytics به وردپرس

قطعا با Google Analytics آشنا هستید. برای اضافه کردن کد آمارگیر به هیچ افزونه ای نیاز ندارید. فقط کافیست به وردپرس اعتماد کنید! با اضافه کردن کد زیر.

<?php
 add_action('wp_footer', 'add_googleanalytics');
 function add_googleanalytics() { ?>
 // code Google Analytics  khod ra inja gharar dahid
 <?php } ?>

۶- اضافه کردن ابزارک پیشخوان در وردپرس

ابزارک پیشخوان در واقع همان کادرهایی هستند که در صفحه پیشخوان وجود دارند. به عنوان مثال ابزارک پیشخوان فید سیاره وردپرس فارسی، جایی که ممکن است از آنجا آمده باشید! حالا می خواهیم یک ابزارک به پیشخوان اضافه کنیم. کد زیر را اضافه کنید.

    add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

    function my_custom_dashboard_widgets() {
    global $wp_meta_boxes;

    wp_add_dashboard_widget('custom_help_widget', 'mEhdi mirani', 'custom_dashboard_help');
    }

    function custom_dashboard_help() {
    echo '<p>Please Contact mEhdi by Sending E-mail <a href="mailto:mehdi.mirani@gmail.com">here</a>. You Can also Visit my blog: <a href="http://mirani.ir" target="_blank">Mirani.ir</a></p>';
    }

حالا یک بار دیگر پیشخوان وبلاگ خود را ببینید 😉 می توانید نوشته ها و متن را به دلخواه خود تغییر دهید.

مهمترین و کاربردی ترین استفاده از این ترفند، در نبود طراحان پر کار پوسته فارسی، به مترجمان قالب های وردپرس تعلق می گیرد.

۷- پنهان کردن نسخه وردپرس

اگر امکان به روز رسانی وردپرس را ندارید، اگر تنبلید! یا از هاست های رایگان با محدودیت حجم آپلود استفاده می کنید، لااقل نسخه وردپرس خود را از هدر (سربرگ)، فید و سایر مکان ها مخفی کنید! چگونه؟ خیلی ساده. کد زیر را اضافه کنید.

function mEhdi_remove_version() {
 return '';
 }

add_filter('the_generator', 'mEhdi_remove_version');

تمام! نسخه وردپرس شما پنهان شد. امتحان کنید 😉 اگر از آخرین نسخه وردپرس استفاده می کنید، این کار آنقدرها هم ضروری به نظر نمی رسد.

۸- اضافه کردن نام نویسنده میهمان با زمینه های دلخواه

پست میهمان که می دانید چیست؟ پستی که در آن نویسنده وبلاگ از فرد دیگری به عنوان میهمان درخواست می کند در وبلاگ او بنویسد. به این نوشته پست میهمان می گویند. برای اضافه کردن اسم نویسنده میهمان به این پست لازم است نام کابری جدیدی ایجاد شود. اما در سال صرفه جویی و اصلاح الگوی مصرف(!)، اصلا به صرفه نیست برای یک پست نام کاربری تازه ایجاد کرد. نامی که فقط یک بار مورد استفاده قرار می گیرد. خب پس چاره چیست؟ خب معلوم است دیگر. وردپرس! کد زیر را اضافه کنید.

add_filter( 'the_author', 'guest_author_name' );
 add_filter( 'get_the_author_display_name', 'guest_author_name' );

function guest_author_name( $name ) {
 global $post;

$author = get_post_meta( $post->ID, 'guest-author', true );

if ( $author )
 $name = $author;

return $name;
 }

کافیست در قسمت افزودن نوشته، از قسمت زمینه های دلخواه، نویسنده مهمان (guest-author) را انتخاب کنید و در قسمت مقدار نام نویسنده را بنویسید.

۹- دستکاری در پانوشت خوراک

می توانید از آن برای اضافه کردن تبلیغات، نام نویسنده یا آدرس سایت خود به فید (خوراک) وبلاگتان، بدون هیچ افزونه ای، از وردپرس کمک بگیرید! کد زیر را اضافه کنید.

function mE_postrss($content) {
 if(is_feed()){
 $content = 'This Post was written by mEhdi '.$content.'visit: Mirani.ir';
 }
 return $content;
 }
 add_filter('the_excerpt_rss', 'mE_postrss');
 add_filter('the_content', 'mE_postrss');

۱۰- اضافه کردن Thumbnails به فید وردپرس

تصاویر بند انگشتی (Thumbnails) معمولا در طراحی سایت ها و وبلاگ ها استفاده می شوند. می توانید این بار آن را به خوراک خود اضافه کنید! کد زیر را اضافه کنید.

function rss_post_thumbnail($content) {
 global $post;
 if(has_post_thumbnail($post->ID)) {
 $content = '<p>' . get_the_post_thumbnail($post->ID) .
 '</p>' . get_the_content();
 }
 return $content;
 }
 add_filter('the_excerpt_rss', 'rss_post_thumbnail');
 add_filter('the_content_feed', 'rss_post_thumbnail');

۱۱- برداشتن پیام اخطار در صفحه ورود

در صورت اشتباه وارد کردن پسورد و یوزر در صفحه ورود (Login Page) ، هشدار داده می شود. اما این هشدار شمشیر دو لبه است! و زمانی که هکر قصد ورود به وبلاگ را دارد، اطلاعات مفیدی را به او می دهد! از آنجا که شما از هکر بیچاره باهوش تر هستید، این پیغام خطا را بردارید! با اضافه کردن کد زیر.

add_filter('login_errors',create_function('$a', "return null;"));

بله. به همین سادگی. به همین خوشمزگی 😉

۱۲- تغییر فید وردپرس به فیدبرنر

اگر از فیدبرنر استفاده می کنید (و من مطمئنم این کار را می کنید) فید وردپرس خود را به فیدبرنر(گاهی ترجمه می کنند خوارک پز!!!)  تغییر دهید. می دانم که میدانید. شما از افزونه FeedSmith استفاده می کنید! اما آیا می دانید بدون هیچ افزونه ای و فقط با اضافه کردن چند کد، وردپرس خودش اینکار را انجام می دهد؟ کد زیر را اضافه کنید.


function custom_feed_link($output, $feed) {

$feed_url = 'http://feeds.feedburner.com/mirani';

$feed_array = array('rss' => $feed_url, 'rss2' => $feed_url,  'atom' => $feed_url, 'rdf' => $feed_url, 'comments_rss2' =>  '');
 $feed_array[$feed] = $feed_url;
 $output = $feed_array[$feed];

return $output;
 }

function other_feed_links($link) {

$link = 'http://feeds.feedburner.com/mirani';
 return $link;

}
 //Add our functions to the specific filters
 add_filter('feed_link','custom_feed_link', 1, 2);
 add_filter('category_feed_link', 'other_feed_links');
 add_filter('author_feed_link', 'other_feed_links');
 add_filter('tag_feed_link','other_feed_links');
 add_filter('search_feed_link','other_feed_links');

۱۳- همه کار در خلاصه مطلب (Excerpt)!

در برخی پوسته ها، هنگامی که دسته ها یا تگ ها را ببینید، مطالب هر پست به طور خلاصه نشان داده می شود که به آن Excerpt می گویند. این Excerptها به طور پیشفرض به شکل […] نمایش داده می شوند. که چندان زیبا نیست.  اما وردپرس قدرتمند را که فراموش نکرده اید؟ همه چیز امکان دارد!

توسط کد زیر، […] را به هر چیزی که دوست دارید تغییر دهید.

// custom excerpt ellipses for 3.1
 function custom_excerpt_more($more) {
 return '…';
 }
 add_filter('excerpt_more', 'custom_excerpt_more');

/* custom excerpt ellipses for 2.8-
 function custom_excerpt_more($excerpt) {
 return str_replace('[...]', '…', $excerpt);
 }
 add_filter('wp_trim_excerpt', 'custom_excerpt_more');
 */

در حالت معمول، تعداد حروف Excerpt روی ۵۵ تنظیم شده است. توسط کد زیر طول (تعداد حروف) Excerpt را به هر اندازه که می خواهید تغییر دهید.

function new_excerpt_length($length) {
 return 99;
 }
 add_filter('excerpt_length', 'new_excerpt_length');

۹۹ را به هر مقداری که می خواهید تغییر دهید.

می رسیم به آخرین قسمت و بخش مورد علاقه من! تبدیل Excerpts به ادامه مطلب!

این می تواند خواننده های آماتور (قسمت اعظم خواننده ها) را به خواندن ادامه مطلب تشویق کند. خیلی از بازدیدکننده هایی که از طریق جستجو و تگ ها به وبلاگ می آید با علامتی مثل […] در انتهای خلاصه مطلب مواجه می شوند و بر اساس تحقیقات(!) من خیلی ها نمی دانند که برای خواندن تمام پست روی عنوان پست کلیک کنند و می روند. چاره کار تبدیل این […]ها به “ادامه مطلب” است که این ادامه مطلب به پست اصلی لینک شود. چگونه؟ از وردپرس بپرسید! با اضافه کردن کد زیر:

// Changing excerpt more
 function new_excerpt_more($more) {
 global $post;
 return '… <a href="'. get_permalink($post->ID) . '">' . 'ادامه مطلب &raquo;' . '</a>';
 }
 add_filter('excerpt_more', 'new_excerpt_more');

بیشتر از ۱۳ ترفند را یاد گرفتیم. ترفندهایی که به نظرم هر کدام ارزش اینکه یک پست باشد را داشت! شما +۱۳ پست را یک جا یاد گرفتید 😉 نمی دانم تا چه اندازه برایتان مفید بوده است. در قسمت نظرات، پاسخگوی نظرات و سوالات شما هستم. شاد باشید و البته وردپرسی! 😉

Array
(
)