نمايش خلاصه مطالب در هر سايتي ضروري است و در هر سايتي ديده مي شود به خصوص در صفحه ي اول سايت که موجب زيبايي و حرفه اي شدن سايت خواهد شد و همين خلاصه کردن ها باعث مي شود مطالب بيشتري را در سايت قرار دهيم حتي گاهي لازم است که ما به جاي نمايش همه نوشته همراه عکس و … فقط مختصري از خود متن نوشته رو نمايش دهيم .
خلاصه مطلب بخشي از مطلب وردپرس مي باشد که ميتوانيد آن را به صورت اتوماتيک وارد کنيد و يا اينک تنظيم کنيد اگر نياز داريد که خلاصه مطالبتان به صورت چکيده شده مطلب باشد و شما آن را بنويسيد در انتهاي ويرايشگر مطلب ميتوانيد آن را در کادر چکيده وارد کنيد تا در جاي مناسب با استفاده از تابع مربوطه نمايش داده شود . اين کار شايد چندان نياز نباشد اما اگر بتوانيد براي هر مطلب خود يک چکيده در تعداد کاراکتر هاي مجاز براي خلاصه مطالب خود تهيه کنيد جلوه بهتري در سايت در صفحات آرشيو خواهيد داشت به طوري که ديگر بخشي از متن که معمولا واژه هاي ابتدايي مطلب است را نداريد و يک چکيده تدوين شده به نمايش در خواهد آمد .
قراردادن خلاصه مطلب در وردپرس
خلاصه مطلب به صورت اتوماتیک میتواند انتخاب شود از بخشی از متن که معمولا قسمت ابتدایی متن می باشد یا اینک میتوانید به صورت دستی و سفارشی آن را وارد کنید برای اینکار کافیست تا در انتهای ویرایشگر وردپرس در قسمت چکیده خلاصه مطلب خود را وارد کنید اگر این بخش را مشاهده نکردید از قسمت بالا روی تنظیمات صفحه کلیک کنید و تیک چکیده را فعال کنید تا بخش مورد نظر به نمایش در بیاید و میتوانید چکیده خود را وارد کنید.
برای نمایش چیکده نیز میتوانید از تابع و افزونه هم استفاده کنید استفاده از تابع ساده اما بدون امکانات اضافی یعنی تعیین حد مجاز و یکسری قابلیت های دیگر می باشد که در صورت نیاز برای آنها نیز باید تابع استفاده کنید اما میتوانید از افزونه هم استفاده کنید.
يکي از قابليت هاي کاربردي وردپرس نمايش خلاصه مطالب مي باشد که با استفاده از تابع excerpt مي توانيد خلاصه اي از مطالب را به نمايش بگذاريد شما براي انجام اين کار نيازي به هيچ افزونه وردپرس نداريد و با چند کد ساده مي توانيد اين کار را انجام دهيد :
به طور معمول همه براي نمايش متن پست در حلقه وردپرس از کد زير استفاده ميکنند .
<?php the_content(); ?>
و سپس براي آن که تنها خلاصه متن نمايش داده شود بايد کد زير را جايگزين کرد :
<?php the_excerpt(); ?>
توجه کنید که تابع excerpt خلاصه مطالب می باشد و تابع content کل محتوای مطلب و اگر ما نیاز به نمایش کل محتوا داریم از این تابع استفاده میکنیم برای مثال استفاده این تابع در فایل sinle.php می باشد اگر بخواهيد حجم کاراکتر هاي نشان داده شده را کاهش دهيد . بايد از کد زير استفاده کرد براي تغيير هم بايد عدد رو کم و زياد کنيد براي انجام تغييرات مي توانيد عدد مورد نظر را کم و يا زياد کنيد .
<?php the_content_rss('', TRUE, '', 60); ?>
در بعضي پوسته ها نياز مي شود تا چندين خلاصه مطلب داشته باشيم يعني برخي از مطالب مثلا با 70 کلمه در خلاصه مطلب نمايش داده مي شوند و برخي ديگر با 90 کلمه در اين شرايط بايد چه کنيم ؟
ما دو خلاصه مطلب را در اختيار شما قرار مي دهيم که با استفاده از کد ها مي توانيد تعداد را خود شما تغيير دهيد . قبل از انجام هر گونه تغيير و ويرايشي از فايل functions.php پوسته خود پشتيبان تهيه کنيد اگر پوسته يا قالب وردپرس شما داراي اين فايل نمي باشد . فايلي با همين نام و فرمت php ايجاد کنيد . سپس کدهاي زير را در انتهاي کدهاي موجود قبل از بسته شدن تگ php يعني قبل از ?> در اين فايل کپي کنيد .
functionwpe_excerptlength_teaser( $length) {
return45;
}
functionwpe_excerptlength_index( $length) {
return30;
}
functionwpe_excerptmore( $more) {
return'...';
}
ما در کد بالا دو تابع با نام هاي wpe_excerptlength_teaser با تعداد کلمات 45 کاراکتر و wpe_excerptlength_index با تعداد کلمات 30 کاراکتر ايجاد کرديم .
حال با کد هاي زير و استفاده از تابع excerpt جديدي را در وردپرس ايجاد مي کنيم :
functionwpe_excerpt( $length_callback= '', $more_callback= '') {
if( function_exists( $length_callback) )
add_filter( 'excerpt_length', $length_callback);
if( function_exists( $more_callback) )
add_filter( 'excerpt_more', $more_callback);
$output= get_the_excerpt();
$output= apply_filters( 'wptexturize', $output);
$output= apply_filters( 'convert_chars', $output);
$output= '
'. $output. '
'; // maybe wpautop( $foo, $br )
echo$output;
}
بعد از انجام اين مرحله نوبت به فراخواني هر يک از توابعي مي رسد که براي هر يک از خلاصه مطالب در پوسته خود قرار داده ايم . از کد زير بهره بگيريد :
<?php wpe_excerpt('wpe_excerptlength_index', 'wpe_excerptmore'); ?>
// the other one
<?php wpe_excerpt('wpe_excerptlength_teaser', 'wpe_excerptmore'); ?>
با استفاده از تابع اول wpe_excerptlength_index مي توان خلاصه مطلبي با تعداد کلمات 30 کاراکتر و با استفاده از تابع دوم wpe_excerptlength_teaser مي توان خلاصه مطلب وردپرس با تعداد کلمات 45 کاراکتر به نمايش گذاشت .
افزونه ي نمايش خلاصه مطالب در سايت
همانطور که در قبل گفته شد میتوان برای مدیریت بهتر قابلیت چکیده وردپرس از افزونه نیز استفاده کرد به این صورت که افزونه را نصب و تنظیمات را اعمال میکنیم و میتوانیم با تابع مربوط به افزونه خلاصه مطلب سفارشی شده را نمایش دهیم . افزونه Advanced Excerpt يکي از افزونه هايي است که مي توان براي ايجاد تنظيمات حرفه اي جهت نمايش خلاصه نوشته وردپرس بکار مي رود برخي از ويژگي هاي افزونه عبارتند از :
قابليت تعيين تعداد کلمات خروجي افزونه
قرار دادن علامت و کارکتر html مورد نظر در پايان خلاصه پست
افزودن لينک ادامه نوشته به انتهاي خلاصه مطلب با متن دلخواه
نمايش خلاصه مطلب تعيين شده توسط کاربر به جاي استفاده از کلمات ابتداي نوشته
حذف توابع the_content و the_excerpt در صورت بودن در حلقه وردپرس
نمايش متن و عدم نمايش کدهاي موجود در خلاصه مطلب
قابلت تعيين نمايش خلاصه مطلب فقط براي مطالب صفحه اصلي ، دسته مورد نظر ، برگه ها، برچسب ها، جستجو و …
براي استفاده از اين افزونه مي توانيد تابع فراخواني مخصوص خلاصه مطلب مربوط به آن the_advanced_excerpt() را در محل مورد نظر از کوئري يا حلقه وردپرس قرار دهيد.
نمايش خلاصه متن بجاي متن کامل
اگر شما نيز از قالبي استفاده مي کنيد که تمام متن را به جاي خلاصه ي آن نشان مي دهيد مي توانيد مسير زير را دنبال کنيد :
کد زير را کپي کرده
<?php the_excerpt(); ?>
و جايگزين کدي که در زير اين قسمت آورده ايم ، گذاريد :
<?php the_content(); ?>
چنين کدي ممکن است اصلا در قالب وجود نداشته باشد به همين خاطر براي ايندکس کردن قالب بايد به صورت زير عمل کرد :
<?php /** * The main template file * * This is the most generic template file in a WordPress theme and one of the * two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query. * For example, it puts together the home page when no home.php file exists. * * @link http://codex.wordpress.org/Template_Hierarchy * * @package WordPress * @subpackage i-transform * @since i-transform 1.0 */ get_header(); ?> <?php $do_not_duplicate = array(); ?> <div id="featured" class="featured-area clear"> <div id="ft-post" class="ft-post"> <?php if ( have_posts() ) : $counter=1; ?> <?php /* The loop for featured post */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php if ( is_sticky() && is_home() && $counter<=4 && ! is_paged() ) : ?> <?php $do_not_duplicate[] = $post->ID ?> <?php get_template_part( 'featured', get_post_format() ); ?> <?php endif; ?> <?php $counter++; ?> <?php endwhile; ?> <?php endif; ?> </div> <!-- #content --> </div> <!-- #primary --> <div id="primary" class="content-area"> <div id="content" class="site-content" role="main"> <?php if ( have_posts() ) : ?> <div class="blog-columns"> <?php /* The loop normal posts */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php if (in_array($post->ID, $do_not_duplicate)) continue; ?> <?php get_template_part( 'content', get_post_format() ); ?> <?php endwhile; ?> </div> <?php itransform_paging_nav(); ?> <?php else : ?> <?php get_template_part( 'content', 'none' ); ?> <?php endif; ?> </div> <!-- #content --> <?php get_sidebar(); ?> </div> <!-- #primary --> <?php get_footer(); ?>
کد بالا یک مثال برای نمایشی صفحه ای است که از خلاصه مطلب استفاده کرده است مانند صفحه اصلی پیش فرض در وردپرس میتوانید متناسب با قالب وب سایتتان اینکار را انجام دهید به طوری که نیازی نیست تمام کد های بالا را کپی کنید فقط بخش مربوط به محتوا content را دقت کنید که اگر نیاز شد یا قالب شما تمام مطلب را نمایش میدهد مانند دستور بالا عمل کرده و به جای آن خلاصه مطالب را نمایش دهید البته میتوانید کلیه متن را هم نمایش دهید اما معمولا اینطور نیست و چکیده از مطلب نمایش داده می شود ، کل متن به صورت معمول در صفحات مطالب نمایش داده میشود در فایل single.php میتوان مشاهده کرد که از تابع content استفاده شده است که بیانگر نمایش کل متن مطلب می باشد.
خلاصه مطالب باید به گونه ای باشد که علارقم نمایش بخشی از متن تا جای زیادی در صفحه آرشیو شده را نگیرد مانند صفحه اصلی و صفحات آرشیو ، دسته بندی و برچسب ها بتواند مفهوم را تا کمی منتقل کند برای اینکه این اتفاقا بیافتد باید تعداد خلاصه کلمات را طوری تعیین کنید که نه از متن چیزی کسر شود و نه جای زیادی بگیرد .