۱۰ هک کاربردی برای بالابردن کارایی آن وردپرس
یکی از مواردی که باعث میشه به وردپرس علاقهی شدید قلبی (بخوانید عشق) داشتهباشم اینه که واقعاً متنباز (OpenSource) هست و دست کاربر رو باز میگذاره که هر گونه تغییراتی رو برای بهتر شدن به اون اضافه کنند. در این نوشته به سراغ ترفندهایی برای بالا رفتن کارایی وردپرستان رفتهایم. با ما باشید.
۱- انتقال به نوشته در نتایج جستوجویی که یک مورد است.
قسمت جستوجو یکی از موارد کاربردی برای کاربران وبلاگها میباشد. حال کاربری کلمهای را جستوجو میکند تنها به یک نوشته میرسد. برای جلب رضایت کاربر،کد زیر را در فایل functions.php پوستهی خود وارد کنید تا وبلاگ/سایت شما به صورت خودکار صفحهی نتیجه را باز کند.
add_action('template_redirect', 'single_result');
function single_result() {
if (is_search()) {
global $wp_query;
if ($wp_query->post_count == 1) {
wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
}
}
}
[]
۲- جابجایی خودکار کلمات با لینکهای تبلیغاتی
در صورتی که وبلاگ شما در مورد موضوع خاصی مانند وردپرس و یا … است و به دنبال راههایی برای افزایش درآمد وبلاگ خود هستید. این کد برای شما آماده شدهاست. نمونهی آن را در همین سایت می توانید ببینید. کلماتی مانند وردپرس به صورت خودکار به سایت لینک دادهمیشوند. و این راه به جز راهی برای افزایش درآمد میتواند راهی برای یه خرده اذیت کردن کپیکاران محترم!!! وبلاگستان باشد. برای انجام این عمل کد زیر را در فایل functions.php خود اضافه کنید.
function replace_text_wps($text){
$replace = array(
// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
'وردپـــرس' => '<a href="http://1FreeMan.Net">وردپرس</a>',
'یک آْزادانـدیشـ.نت' => '<a href="http://1FreeMan.Net/WP">مرجع توابع وردپــرس با توضیحات فارسی</a>'
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}</p>
add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');
[منبع]
۳-نشان دادن نوشتههای مرتبط بدون نیاز به افزونه
نوشتههای مرتبط راهی برای نگهداشتن کاربر در سایت/وبلاگ شما است. ممکن است کاربر شما نوشتهای که به دنبالش هست را در نوشتههای دیگر شما بیابد و این یعنی بازدید بالاتر. برای نشان دادن نوشتههای مرتبط کد زیر را در فایل single.php (در هر مکانی که مایلید نوشتهها نمایش داده شوند) قرار دهید. برای مشخص کردن تعداد نوشتهها، عدد مورد نظر خود را در خط ۹ وارد کنید.
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'showposts'=>5, // Number of related posts that will be shown.
'caller_get_posts'=>1
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<h3>Related Posts</h3><ul>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
}
echo '</ul>';
}
}
?>
[]
۴- نوشتههای محبوب خودتان را در سایدبار بسازید.
برای استفاده از این قابلیت شما باید کد زیر را در فایل sidebar.php وارد کنید. با این کد وبلاگ/سایت شما نوشتههایی که بیشترین تعداد دیدگاه را دارد، نشان می دهد. برای تغییر تعداد نوشتههای قابل نمایش عدد ۵ را در انتهای خط ۳ تغییر دهید.
<h2>Popular Posts</h2>
<ul>
<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");
foreach ($result as $post) {
setup_postdata($post);
$postid = $post->ID;
$title = $post->post_title;
$commentcount = $post->comment_count;
if ($commentcount != 0) { ?>
<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
<?php } } ?>
</ul>
[]
۵- اجازه وارد کردن تگهای HTML بیشتر در ویرایشگر
در حالت پیشفرض، ویرایشگر وردپرس فقط به شما اجازه وارد کردن تگهای سازگاربا XHTML 1.0 را میدهد، کد زیر را به فایل functions.php وارد کنید تا به تگهای بیشتری را بتوانید در ویرایش گر اضافه کنید. تگها را می توانید در خط ۴ ببینید و در صورت لزوم خود تگهای جدید اضافه کنید.
function fb_change_mce_options($initArray) {
// Comma separated string od extendes tags
// Command separated string of extended elements
$ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]';
if ( isset( $initArray['extended_valid_elements'] ) ) {
$initArray['extended_valid_elements'] .= ',' . $ext;
} else {
$initArray['extended_valid_elements'] = $ext;
}</p>
// maybe; set tiny paramter verify_html
//$initArray['verify_html'] = false;
return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');
[منبع]
۶- هر فایلی که مایلید را آپلود کنید.
به طور قطع، آپلودر وردپرس خیلی از فایلهایی که وجود دارند را پشتیبانی نمیکند. اگر شما نیز از این ویژگی بدتون میاد،کد زیر را در فایل functions.php خود وارد کنید تا فایلهایی که مدنظر دارید، آپلود شود. شما می توانید فرمتهای دیگر را در خط ۴ وارد کنید.فقط | در بین آنها فراموش نشود.
<?php
function addUploadMimes($mimes) {
$mimes = array_merge($mimes, array(
'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' => 'application/octet-stream'
));
return $mimes;
}
?>
add_filter('upload_mimes', 'addUploadMimes');
[منبع]
۷- چگونه فونت ویرایشگر وردپرس را تغییر دهیم.
از فونتهای حال حاضر وردپرس متنفرید؟ آیا مایلید از فونتهای فارسی جدید که برای وب آمادهشدهاست، استفاده کنید. خوب کد زیر را در فایل functions.php اضافه کنید.
function change_editor_font(){
echo "<style type='text/css'>
#editorcontainer textarea#content {
font-family: \"B roya\", \"b Yekan\", \"Dejavu Sans Mono\", monospace;
font-size:14px;
color:#333;
}
</style>";
}
add_action("admin_print_styles", "change_editor_font");
[]
۸- غیرفعال کردن ذخیره خودکار نوشته
دلایل زیادی است که مایل باشید ذخیره خودکار وردپرس را غیرفعال کنید. این کار ممکن است فقط باید کد زیر را به فایل functions.php اضافه کنید.
function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );
[منبع]
۹- نمایش یک فایل PHP دیگر در وردپرس
شاید نیاز به نشان دادن تبلیغات در بین صفحات وبلاگ/سایتتان داشتهباشید. خوب کدها را در یک فایل PHP وارد کنید و با کد زیر آنها را در هر صفحهای که مایلید فراخوانی کنید؛
<?php if ( is_home() ) { include ('file.php'); } ?>
[]
۱۰- نمایش تاریخ نوشته به سبک توییتر “Time ago”
برای نشان دادن تاریخ ارسال نوشته به سبک توییتر کد زیر را در حلقه (loop) ، در هر کجا که مایلید نشان دادهشود، وارد کنید.
Posted <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' قبل فرستادهشدهاست.';
[منبع]
امیدوارم که این نوشته را پسندیدهباشید. اگر پسنیدیدید، دکمههای گوگلپلاس و لایک فیسبوک در سمت چپ و پایین صفحه منتظر کلیکهای شما هستند.
پینوشت: برای تبادل لینک با یکآزاداندیش.نت از


کاربردی بود ، ممنون
یادم هست برام نوشته بودی بهتره به جای هک وردپرس از ترفند وردپرس استفاده کنیم.
ولی خودت هم که رعایت نکردی !
موفق باشی علی جان
سلام آقا مسعود گل،
موقعه نوشتن عنوان به همون قضیه فکر میکردم، اما معنی هک در واقع بالابردن امکانات چیزی است که مورد هک قرار گرفته!
خیلی با خودم کلنجار رفتم اما بعد از این نوشته از همون ترفند استفاده میکنم.
ممنون بابت اطلاع و موفق باشی.
درود
عالی بود
سپاس
ممنون حسین جان
سلام دوست و همکار عزیز…مطلب بسیار کاربردی و کاملی بود..
من سایت شما را در سایت خودم لینک کردم…اگر مایل هستید تبادل لینک انجام دهیم..
مجله فناوری اطلاعات
سلام آقا حسین،
دوست عزیز ممنون بابت ذکر لینک ما در وبسایتت.
اما برای تبادل لینک با یکآزاداندیش به پیج رنک +۲ به بالا و یا الکسای زیر ۲۰۰۰۰ نیاز دارید.
شاید در آیندهای نزدیک لینک شما در سایت ما قرار گرفت.
ممنون و موفق باشید.
با سلام خدمت شما دوست عزیز ممنون از پست مفیدتون.
فقط یه سوال من این مطالب مشابه رو گذاشتم اما کامل نشون نمیده
من مثلا چندین انیمیشن دارم اما فقط دو تا شون رو به عنوان مشابه میزاره
(اما با related post ایجوری نمیشه)اگه کمکم کنید ممنونتون میشم.
این کد برچسب(تگ)ها رو فراخوانی میکند، یعنی به دنبال نوشتههایی میگردد که برچسب یکسانی داشته باشند.
سلام دوست عزیز. من ترفند شماره ۲ رو خواستم توی سایت خودم اعمال کنم اما فقط برای کلمات انگلیسی کار میکنه و برای فارسی نه. شما دقیقا از همین روش این کار رو انجام دادید؟
و ی اشتباه بزرگی که توی کدها دارید اینه که درست ننوشتید. مثلا توی همون ۲ دارید. کدی که شما گذاشتید با کدی که توی منبع هست فرق داره و معادل html اونها نوشته شده.
سلام به آقا حمید،
دوست عزیز کدها رو چک کردم مشکلی با منبع نداشت و در مورد دیدگاه قبلی که گفته بودید فقط برای کلمات انگلیسی کار میکند؛ این کد با فراخوانی برچسب(تگ)ها از دیتابیس نوشتههای مرتبط را نشان میدهد و ربطی به کلمات انگلیسی یا فارسی ندارد.
و در مورد تارنمای یکآزاداندیش، باید ذکر کنم که پوستهای که من استفاده میکنم، در خودش همین کد را جا داده، و نیازی به اضافه کردن تغییرات در اون نیست.
موفق باشید.
جالب بود موفق باشید