۱۰ هک و ترفند کاربردی وردپرس (انتهای ۲۰۱۱)
از سری نوشتههای ترفندها و هکهای وردپرس به یکی از بهترین و هیجانانگیزترین آنها رسیدهایم. سری ترفندهایی که در انتهای سال ۲۰۱۱ منتشر و بسیار کارآمد بودند. کدهایی که زندگی وردپرسی شما را آسانتر از قبل می کند. با ما باشید و از خواندن و یادگیری این سری لذت ببرید.
اضافه کردن خودکار دکمهی گوگل پلاس به نوشتهها
گوگلپلاس سرویس اجتماعی جدیدی است که بهدست غول اینترنتی، گوگل ساخته و البته یکی از موارد بالابردن رتبهی سایت شما هم محسوب میشود. اگر شما هم میخواهید این دکمهی پلاس را به صورت خودکار به نوشتههایتان بچسبانید، میتوانید به راحتی هر چه تمامتر کد زیر را به فایل functions.php خود اضافه کنید و آن را ذخیره کنید. از حالا به بعد دکمهی گوگل پلاس در نزدیکی نوشتهی شما نشان داده می شود.
add_filter('the_content', 'wpr_google_plusone');
function wpr_google_plusone($content) {
$content = $content.'<div><g:plusone size="tall" href="'.get_permalink().'"></g:plusone></div>';
return $content;
}
add_action ('wp_enqueue_scripts','wpr_google_plusone_script');
function wpr_google_plusone_script() {
wp_enqueue_script('google-plusone', 'https://apis.google.com/js/plusone.js', array(), null);
}
منبع
آدرس خوراک سایت خود را به خوراک Feedburner انتقال دهید.
Feedburner، سرویسی است که اکثر بلاگرها از آن برای سازماندهی خوراک سایت خود استفاده می کنند. سیستمی که به شما این امکان را میدهد آمار دقیقی از مشترکان خوراک خود داشتهباشید، خوراک خود را بهینه کنید و مواردی دیگر که در این نوشته نمی گنجد. خوب، برای اینکه مشترکین خوراکتان را به صورت مستقیم به این سیستم هدایت کنید، شما باید کد زیر را به فایل functions.php خود اضافه کنید.
فراموش نکنید که لینک خوراک من رو با لینک خودتون در خط چهارم تعویض کنید و سپس کد را به فایل functions.php اضافه کنید.
add_action('template_redirect', 'cwc_rss_redirect');
function cwc_rss_redirect() {
if ( is_feed() && !preg_match('/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'])){
header('Location: http://feeds.feedburner.com/1freeman');
header('HTTP/1.1 302 Temporary Redirect');
}
}
نشان دادن تعداد بازدید نوشته بدون استفاده از افزونه
اگر شما هم جز انسانهای کنجکاوی هستید که به دنبال یافتن آمار مشاهدهی بازدیدکنندگان از یک نوشتهی خاص هستید، این ترفند را از دست ندهید. معمولاً افزونههای آماری این قابلیت را دارند، اما راهحل ساده تر اضافه کردن کد زیر به فایل functions.php سایتتان هست.
function getPostViews($postID){
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
function setPostViews($postID) {
$count_key = 'post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
خوب حالا کد زیر را در حلقه (loop) به فایل single.php، اضافه کنید.
<?php setPostViews(get_the_ID()); ?>
در آخر، کد زیر را در هر مکانی که مایلید به پوستهی خود اضافه کنید:
<?php echo getPostViews(get_the_ID()); ?>
تعداد هواداران صفحهی فیس بوک خود را در یک متن نشان دهید.
اگر شما یک صفحه برای وبلاگ خود در فیس بوک درستکردهاید و مایلید که تعداد طرفداران خودتون رو نشون بدهید، کد زیر برای شما ساتخته شدهاست. این کد تعداد هواداران صفحهی شما را نشان میدهد. فقط کافیه کد زیر را در هر جایی که مایلید نمایش داده شود، اضافه کنید.
فراموش نکنید که آی دی صفحهی خودتون رو در خط دوم اضافه کنید.
<?php
$page_id = "YOUR PAGE-ID";
$xml = @simplexml_load_file("http://api.facebook.com/restserver.php?method=facebook.fql.query&query=SELECT%20fan_count%20FROM%20page%20WHERE%20page_id=".$page_id."") or die ("a lot");
$fans = $xml->page->fan_count;
echo $fans;
?>
نشان دادن متن جستوجو شده از سوی گوگل
این کد متنی که کاربر در گوگل وارد کرده و گوگل آن را به سوی وبسایت شما هدایت کرده را نمایش میدهد. این کد ساده را در هر جایی از پوسته که مایلید متن نشان داده شود، اضافه کنید.
<?php
$refer = $_SERVER["HTTP_REFERER"];
if (strpos($refer, "google")) {
$refer_string = parse_url($refer, PHP_URL_QUERY);
parse_str($refer_string, $vars);
$search_terms = $vars['q'];
echo 'شما از سوی گوگل به اینجا هدایت شدهاید و متن جستوجویی شما عبارت است از: ';
echo $search_terms;
};
?>
نشان دادن راحت فایلهای خارجی با استفاده از کد کوتاه
در زمان وبلاگنویسی شما نیاز به دسترسی به فایلهایی از سایتهای دیگر پیدا میکنید. این کد با ساختن یک کد کوتاه، اجازه اضافه کردن هر فایلی رو از سایتهای دیگر به ویرایشگر وردپرستان میدهد. برای شروع کد زیر را به فایل functions.php سایت خود اضافه کنید.
function show_file_func( $atts ) {
extract( shortcode_atts( array(
'file' => ''
), $atts ) );</p>
if ($file!='')
return @file_get_contents($file);
}
add_shortcode( 'show_file', 'show_file_func' );
خوب، برای نمایش فایلها از کد کوتاه زیر استفاده کنید:
[show_file file="http://www.somesite.com/somepage.html"]
ارسال ایمیل به نویسنده، زمانی که نوشتهاش منتشر میشود.
در سایت/وبلاگهایی که چند نویسنده دارند، نوشتهها باید به تایید مدیر برسد و سپس منتشر میشود. با اضافه کردن کد زیر به فایل functions.php پس از تایید نوشته توسط مدیر، ایمیلی حاوی متنی که شما انتخاب میکنید برای نویسنده ارسال میشود و خبر انتشار نوشته را میدهد.
function wpr_authorNotification($post_id) {
$post = get_post($post_id);
$author = get_userdata($post->post_author);</p>
$message = "
Hi ".$author->display_name.",
Your post, ".$post->post_title." has just been published. Well done!
";
wp_mail($author->user_email, "Your article is online", $message);
}
add_action('publish_post', 'wpr_authorNotification');
نمایش اسنپشات از سایتهای دیگر به وسیلهی کد کوتاه
آیا وبسایتی برای معرفی سایتهای خارجی دارید؟ خوب این کد برای شما ساخته شدهاست. این کد که به دست Ben Gillbanks ساخته شده، به شما این امکان را میدهد که اسکرین شاتی را از هر سایتی که مایلید به سایت خود اضافه کنید. برای اینکار ابتدا کد زیر را به فایل functions.php خود اضافه کنید.
<?php
function bm_sc_mshot ($attributes, $content = '', $code = '') {</p>
extract(shortcode_atts(array(
'url' => '',
'width' => 250,
), $attributes));
$imageUrl = bm_mshot ($url, $width);
if ($imageUrl == '') {
return '';
} else {
$image = '<img src="' . $imageUrl . '" alt="' . $url . '" width="' . $width . '"/>';
return '<div><a href="' . $url . '">' . $image . '</a></div>';
}
}
function bm_mshot ($url = '', $width = 250) {
if ($url != '') {
return 'http://s.wordpress.com/mshots/v1/' . urlencode(clean_url($url)) . '?w=' . $width;
} else {
return '';
}
}
add_shortcode('browsershot', 'bm_sc_mshot');
?>
خوب، از کد کوتاه زیر برای نمایش اسنپ شات استفاده کنید.
[browsershot url="http://1FreeMan.Net" width="400px"]
فهرست سایتهای شبکهی شما
یکی از پرکاربردترین توابع برای سایتهایی که از قابلیت شبکهای وردپرس ۳٫۰+ استفاده میکنند. آیا شما نیز به دنبال کدی برای نشان دادن فهرست کامل سایتهای شبکه ی خود هستید؟ این کد برای شماست.
ابتدا کد زیر را به فایل functions.php پوستهی خود اضافه کنید.
function wp_list_sites( $expires = 7200 ) {
if( !is_multisite() ) return false;</p>
// Because the get_blog_list() function is currently flagged as deprecated
// due to the potential for high consumption of resources, we'll use
// $wpdb to roll out our own SQL query instead. Because the query can be
// memory-intensive, we'll store the results using the Transients API
if ( false === ( $site_list = get_transient( 'multisite_site_list' ) ) ) {
global $wpdb;
$site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id') );
// Set the Transient cache to expire every two hours
set_site_transient( 'multisite_site_list', $site_list, $expires );
}
$current_site_url = get_site_url( get_current_blog_id() );
$html = '
<ul id="network-menu">' . "\n";
foreach ( $site_list as $site ) {
switch_to_blog( $site->blog_id );
$class = ( home_url() == $current_site_url ) ? '' : '';
$html .= "\t" . '
<li id="site-' . $site->blog_id . '" '="" .="" $class=""><a href="' . home_url() . '">' . get_bloginfo('name') . '</a></li>
' . "\n";
restore_current_blog();
}
$html .= '</ul>
<!--// end #network-menu -->' . "\n\n";
return $html;
}
خوب، کد زیر را در هر مکانی که مایلید این فهرست نمایش داده شود، اضافه کنید.
<?php // Multisite Network Menu $network_menu = wp_list_sites(); if( $network_menu ): ?> <div id="network-menu"> <?php echo $network_menu; ?> </div></p> <!--// end #network-menu --> <?php endif; ?>
اضافه کردن حالت نوشته اگر تصویر انگشتنما داشتهباشد.
زمانی که به پوسته ی خود استایل میدهید، با این ترفند میتوانید برای نوشتههای خود کلاسی تعریف کنید که این نوشته تصویر انگشتنما دارد و یا ندارد. با این ترفند و اضافه کردن کلاس has_thumb به CSS پوسته، میتوانید استایل خاصی را برای زمانی که پوسته تصویر انگشت نما دارد تعریف کنید.
فقط باید ک زیر را به فایل functions.php اضافه کنید و لذت ببرید.
function has_thumb_class($classes) {
global $post;
if( has_post_thumbnail($post->ID) ) { $classes[] = 'has_thumb'; }</p>
return $classes;
}
add_filter('post_class', 'has_thumb_class');
پینوشت: این نوشته ترجمهایست آزاد از نوشتهای در اینجا.
پینوشت۲: در صورتی که نوشته را پسندیدید، با کلیک بر روی دکمههای لایک در گوشهی صفحه و یا انتشار آن از ما حمایت کنید.



آخرین دیدگاهها