۲۵ ترفند و آموزش وردپرس که باید بدانید!

وردپرس فارسی سیستم اوپن سورس ، پر امکانات و بسیار انعطاف پذیری هست که به راحتی می تونید با اون یه وبلاگ معمولی تا یه سایت پیشرفته داشته باشید. شما به وسیله پلاگین های اون می تونید خیلی از کارها رو به راحتی انجام بدید و امکاناتی رو اضافه کنید ولی یه سری ترفندها و نکات رو باید به صورت دستی اضافه کرد و خیلی از کدها هستن که شما رو در بهینه کردن و طراحی پوسته مورد نظرتون کمک می کنند.در این پست با ۲۵ تا از این آموزشها آشنا می شین.

۱retrieve-post-custom-field-wordpress. چطور یه پست رو با حالت کامل و سه پست رو باحالت خلاصه نشوم بدیم؟ برای این کار کافیه یکم با حلقه ی وردپرس ور برید یعنی همون loop که گناهکار اینجا در بارش مطلبی نوشته.برای اینکار کافیه اون حلقه ی ساده رو به این شکل دربیارید:

<?php if (have_posts()) : ?>
<?php $count = 0; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<?php if ($count < 2) : ?>
<?php the_content() ?>
<?php else : ?>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

۲comment-count. چگونه نشون بدیم که چقدر دیدگاه و کامنت در وبلاگ ثبت شده؟ برای این کار کافیه کد زیر رو در پوسته به کار ببرین :
<?php
$numcomms = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");
if (0 < $numcomms) $numcomms = number_format($numcomms);
?>

۳wordpress-total-number-posts. چگونه یک تعداد تمام پستهای وبلاگ رو با استفاده از کد نشون بدیم؟ با استفاده از کد زیر به راحتی می تونید از دیتابیستون تعداد مطالب منتشر شده رو نشون بدید: البته اگر عدد رو مقایسه کردید و یه مقدار بیشتر اومد اون مقدار بیشتر تعداد صفحات منتشر شده شما هست.
<?php echo $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish'");
if (0 < $numposts) $numposts = number_format($numposts); ?>

۴multiple-headers-wordpress. چگونه برای هر صفحه از وبلاگ یه هیدر مشخص و جدا درست کنیم؟ شاید خیلی از ماها بخوایم که مثلا اگر صفحه گالری یا مثلا تماس وبلاگ برای کسی لود شد یه هیدر مخصوص به خودش هم در کنارش بیاد. یعنی یه جور دستور شرطی مثل کد زیر که که برای دو صفحه gallery  و contact شرطی رو تعیین کرده.البته قبلش باید فایل مورد نظر رو بسازید و در این کد جانشین کنید.
<?php
if (is_page('contact')){
<?php include(TEMPLATEPATH.'/headercontact.php'); ?>
}
elseif (is_page('gallery')){
<?php include(TEMPLATEPATH.'/headergallery.php'); ?>
}
else {
<?php include(TEMPLATEPATH.'/headerdefault.php'); ?>
}
?>

۵popular-posts. و شاید بخواهید محبوب ترین پست هفته رو نشون بدید در وبلاگتون؟ منظورم از محبوب ترین پر کامنت ترین مطلب شماست . در کد زیر تعیین شده که در ۷ روز یعنی یه هفته ده تا پست محبوبتون رو نشون بده. حالا براحتی می تونید اون رو تغییر بدید و مثلا بکنیدش ۳۰ روز و بهترین مطالب ماه رو نشون بدید و یا آیتم های دیگه ای که دوست دارید.
<?php
$days = 7; //To fetch posts published during the last 7 days
$today = date("Y-m-d H:i:s"); //Today's date
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (7 * 24 * 60 * 60)); //Today - $days
$result = $wpdb->get_results("SELECT comment_count,ID,post_title, post_date FROM $wpdb->posts WHERE post_date BETWEEN $daysago AND $today ORDER BY comment_count DESC LIMIT 0 , 10");
foreach ($result as $topten) {
$postid = $topten->ID;
$title = $topten->post_title;
$commentcount = $topten->comment_count;
if ($commentcount != 0) {
?>
<li><a href="<?php echo get_permalink($postid); ?>"><?php echo $title ?></a></li>
<?php }
}
?>

۶wordpress-random-post. و کد بعدی به شما کمک می کنه که یه صفحه درست کنید و در اون صفحه مطلبی رو تصادفی نشون بدید. برای ساخت صفحه می تونید به نوشته ی مهران در پارسیش نگاهی بکنید و این کد رو در صفحه جاسازی کنید:
<?php
query_posts(array('orderby' => 'rand', 'showposts' => 1));
if (have_posts()) :
while (have_posts()) : the_post(); ?>
// WordPress loop, your random post will appear here
endwhile;
endif; ?>

۷replace-wordpress-smilies. یه سری اسمایلی در وردپرس به صورت پیش فرض گذاشته شده که اگر از اونها خوشتون نمی یاد می تونید راحت اونها تعویض کنید. بدون هیچ مشکلی… در زیر چند تا از پکیج های آماده رو معرفی می کنیم:

پکیج اسمایلی های پی ان جی برای وردپرس

Emoticons Pack for WordPress

Pack Emoticones Post-It

پکیج اسمایلی های پیش فرض نرم افزار اسکایپ (لینک مستقیم)

این هم تمامی اسمایلی های یاهو مسنجر و ام اس ان

۸goodbye-ie-wordpress. این هم یه کد مفید که واقعا اگر اینجا ایران نبود و همه اینترنت اکسپلورر به دست حتما این کد رو پیشنهاد می کردم. اینترنت اکسپلورر و مخصوصا نسخه کهنه ۶ اون که همیشه مزاحم بوده برای طراحا و کاربرا. این نسخه واقعا اذیت می کنه کسایی که طراح هستن می دونن من چی میگم :)) . پس با گذاشتن این کد در فایل header.php بشیدش! ( جا داره تاسف بخورم که این پر مصرف ترین مرورگر تو ایران خودمونه)

جای این کد بین تگ <head> و <head/> هست.
<!--[if lte IE 6]>
<STYLE>@;/*
<![endif]-->

۹dislay-number-posts-today-wordpress. در یکی از ترفندها گفتیم که چگونه مجموع تمام پستهای رو نشون بدیم.اما در این کد می تونید تعداد پستهای منتشر شده در امروز رو نشون بدید. با یه مقدار دستکاری توش می تونید خیلی متغیر تر بکنیدش.

<?php
$today = date("Y-m-d H:i:s"); //Today's date
$daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day
$numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daysago' AND '$today'");
if ($numposts >0) {
echo $numposts.' posts published today';
} else {
echo "No posts published today";
?>

۱۰wordpress-display-latest-twitter-entry. خوب این از یه کد که باهاش می تونید آخرین توییتتون رو به نمایش بذارید:
<?php
// Your twitter username.
$username = "TwitterUsername";
// Prefix - some text you want displayed before your latest tweet.
// (HTML is OK, but be sure to escape quotes with backslashes: for example href="link.html")
$prefix = "<h2>My last Tweet</h2>";
// Suffix - some text you want display after your latest tweet. (Same rules as the prefix.)
$suffix = "";
$feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";
function parse_feed($feed) {
$stepOne = explode("<content type="html">", $feed);
$stepTwo = explode("</content>", $stepOne[1]);
$tweet = $stepTwo[0];
$tweet = str_replace("&lt;", "<", $tweet);
$tweet = str_replace("&gt;", ">", $tweet);
return $tweet;
}
$twitterFeed = file_get_contents($feed);
echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);
?>

۱۱modified-date-wordpress. تابحال در فوتر و همون آخر صفحه بعضی وبلاگ ها دیدید که مثلا میزنن تعداد مطلبها و زمان تشکیل صفحه رو. این تگ زمان لود صفحه در نسخه قدیم میهن بلاگ بود و در وردپرس هم هستش.
<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.

.

.

.

.

۱۲del. و اینکه همتون با سرویس خوشمزه آشنا هستین و دوست دارید مطالبتون در این سایت بوسیله کاربراش بوکمارک بشه. در ساید بار همین وبلاگ و در لینکدونی سایت آخرین مطالب بوکمارک شده مارو می بینید.کد زیر یه نمونه ساده هستش برای ذخیره در سایت خوشمزه که می تونید به حالت های دیگر هم در بیاریدش:
<a href="http://del.icio.us/post?url=<?php the_permalink();?>">Save this link to Delicious</a>

.

.

۱۳Business - Internet Access #1. چگونه لیستی از آخرین کاربرهای عضو شده در سایت و وبلاگ رو نشون بدیم؟
<?php
$current_day = date('j');
$last_year = date(‘Y’)-۱;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif;
?>

۱۴post-last-year. دوست دارید نشون بدین که سال پیش در همین تاریخ شما چه مطلبی رو منتشر کردید؟ این یه ایده جالب هستش که می تونه بصورت اتوماتیک عنوان مطلب و لینک به اون نوشته سال قبل رو نشون بده. در سایتهای خبری شاید همچین ابتکاری رو دیده باشید که نوشتن پارسال در چنین روزی چه خبر بوده. اگر اشتباه نکنم در سایت وبنا همچین چیزی رو اولین بار دیدم.
<?php
$current_day = date('j');
$last_year = date(‘Y’)-۱;
query_posts('day='.$current_day.'&year='.$last_year);
if (have_posts()):
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif;
?>

۱۵dynamic-sidebar-wordpress. یه سری از مطالب رو ما منتشر می کنیم و دوست داریم اونها رو به نوعی نشون بدیم دوباره تا بازدید کننده ها به سمتشون هدایت بشن برای اینکار مطالب تصادفی رو نشون می دیم و یا مطالب قبلی رو و یا خیلی چیزهای دیگه که به این کار کمک می کنن. با استفاده از این کد می تونید در ساید بار وبلاگتون یه پست رو بصورت تصادفی نشون بدید. البته با کمی تغییر می تونید تعداد رو کم و زیاد کنید.
<?php
query_posts(array('orderby' => 'rand', 'showposts' => 1));
if (have_posts()) :
while (have_posts()) : the_post();
the_title();
the_excerpt();
endwhile;
endif; ?>

۱۶tag-page-wordpress. چطور یه صفحه از تگ های وبلاگمون درست کنیم؟ ابرچسب تگ ها در سایدبار تگ های خاصی رو پوشش میده و خیلی از تگ ها از دید کاربرا مخفی می مونه. شاید بخواهید در یه صفحه جدا تمامی تگها رو نشون بدید. برای اینکار ابتدا باید یه فایل در قالبتون درست کنید و بعد این کد ها رو جاسازی کنید. مطلب کاملش رو در نوشته ای از آقای وبلاگ بخونید تا بهتر متوجه بشید.

.
<h2>All tags</h2>
<?php wp_tag_cloud('number=0'); ?>

۱۷author-gravatar. این کد ساده به درد خیلی از وبلاگ های گروهی می خوره. با این کد می تونید آواتار همون نویسنده رو در پست نشون بدید.جز قابل تغییر در این کد سایز آواتار هست که الان ۹۶ هست و می تونید بنا به سلیقه خودتون اون رو کوچیکتر یا بزرگتر بکنید:
<?php
$author_email = get_the_author_email();
echo get_avatar($author_email, '96');
?>

.

۱۸scroll-top-wordpress. وقتی شما یه وبلاگی رو میخونید و به انتهای اون می رسید دوباره می خواهید به ابتدای اون برگردید و معمولا در پایان صفحه لینکی هست که با کلیک روی اون به بالای صفحه هدایت میشید. ابتدا فایل header.php قالب رو باز کنید و این تگ رو در صورت نبودن اضافه کنید:

البته این تگ توی ۹۵ درصد قالبهای موجود هست و دیگه نیازی نیست به گذاشتنش.بعدش هم با همین کد ساده می تونید لینک رو قرار بدید:<a href="#header">Scroll to top</a>.

۱۹logout-link-wordpress. اما لینک خروج از وبلاگ به چه شکل هست؟ اگر از وردپرس ۲٫۷ استفاده می کنید می تونید این کد رو درج کنید:
<a href="<?php echo wp_logout_url(); ?>">Logout</a>
ولی اگر از نسخه های پایینترش استفاده می کنید باید این کد رو درج کنید:
<a href="/wp-login.php?action=logout">logout</a>

.

.

۲۰logo. زمینه های دلخواه ! یکی از امکانات خوب و در دسترس و انعطاف پذیر وردپرس که راهنماهای زیادی هست براش . این آموزش در دو بخش از وبلاگ گناهکار قرار داده شده و توضیحات خوب و کاملی دربارش هست که دیگه نیازی به نوشتن دوباره مطلب نیست و لینک میدم به خود مطالب . بخش اول – بخش دوم

.

.

.

۲۱wp27-comments. چطور به کامنت مدیر رنگ و استایلی جدا بدیم؟ اینکار در وردپرس ۲٫۷ بسیار آسون شده و تنها با ایجاد استایل مورد نظرتون در فریم زیر میسر میشه.البته اضافه کنم اگر پوسته وبلاگ شما هماهنگ باشه با نسخه ۲٫۷ که این هماهنگی باز توضیحات خاص خودش رو میخواد به همراه ایجاد قابلیتهای جدید کامنت ۲٫۷ در پوسته که باید در یه مطلب جدا توضیح داده بشه.
li.bypostauthor {
/* CSS styles for author comments */
}
li.byuser {
/* CSS styles for registered users comments */
}

۲۲hide-sidebar. ساید بار یا همون ستون کناری وبلاگ یه بخش مهمی از وبلاگ شماست ولی شاید گاهی اوقات بخواهید اون رو نشون ندید در صفحه اصلی ! اگر شما هم چین قصدی دارید این بخش رو بخونید. برای پنهان کردن ستون وبلاگتون در صفحه اصلی باید فایل صفحه اصلی رو باز کنید یعنی index.php و یا در بعضی قالب ها home.php و این کد رو پیدا کنید که مربوط به نشون دادن و لود ساید بار هست:
<?php get_sidebar(); ?>
و به جای اون این خط رو جانشین کنید:
<?php if (!is_front_page()) {
get_sidebar();
} ?>

البته شاید یه مقدار تعجب کنید ! به ظاهر دقیقا خلف گفته ماست ولی خوب منفی ساز ما در کد بالا همون علامت تعجب ! هست :)
۲۳fb.  سایت فید بارنر رو همه می شناسید و از اون استفاده می کنید . برای نشون دادن تعداد مشترکینتون خود فیدر بارنر امکانی رو داره منتها محدود هست و شما در یه فریم خاص می تونید نمایش بدید.اما در نوشته ای مفید از وبلاگ رادیکال دو راهی دیگه رو پیشنهاد کرده که به وسیله کدهای php هست.بهتره یه سر به اصل نوشته در اینجا بزنید و بخونیدش.

.

.

.

۲۴visualizeus. این آموزش در رابطه با ایجاد یک گالری در صفحه ای مشخص هست و به نظر من با استفاده از همین سایت و پلاگین می تونید طرح های ذهنی خودتون رو در بیارید و دیگه نیازی به نصب پلاگین برای ایجاد گالری در وردپرس نیست. جدای اینکه گالری رو در صفحه ای مشخصی بذارید می تونید آخرین عکسها رو در ساید بار وبلاگتون نشون بدید و این چیزیه که بیشتر میخوان و خیلی ساده هست. پلاگین رو فعال کنید و به صفحه ابزارک ها برید. مطلب کامل رو در اینجا بخونید.

.

.

۲۵avatars. آخرین و بیست و پنجمین چیزی که به نظرم مفید میاد و متاسفانه خیلی ها شاید بهش اهمیت ندن آواتار در بخش نظرات هست که خیلی راحت و با کدی ساده در فایل comments.php پوسته شما قابل اجراست ولی شاید دلیل عدم استفاده از این این باشه که نیازمند استایل هست برای نمایش بهتر. بعد از این که این کد رو جاسازی کردید در قالبهای نمونه و وردپرسی به فایل استایل برید و به راحتی سرچ avatar استایل مربوط بهش رو بدزدید بردارید و در فایل استایل خودتون جانشین کنید.
<?php echo get_avatar( get_the_author_email(), '80' ); ?>

پانوشت: این مطلب ادامه داره … بیشتر این کدها از قالبها و یا ازسایتهای دیگه گردآوری شده و برای این مطلب بهینه شده و عذر می خوام چون مطلب کلی بود نمی شد در حد ساده و کامل توضیح بدم و البته پیش لازمه ی این کدها و تگ ها تجربه کار قبلی با وردپرس و پوستهاش هست.

برچسب‌ها : , ,

توضیحات در مورد نویسنده :

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

Visit Saeed's Website



محصولات فروشگاه



<