طراحی قالب وردپرس با آرتاباز

بیش از 0 پروژه طراحی وب سایت و 0٪ رضایت مشتریان فقط کافیست نمونه کارها را مشاهده کنید.

نمایش چندین خلاصه مطلب وردپرس با تعداد کلمات متفاوت

نمایش چندین خلاصه مطلب وردپرس با تعداد کلمات متفاوت

یکی از قابلیت های کاربردی وردپرس نمایش خلاصه مطلب می باشد که با استفاده از تابع excerpt می توانیم خلاصه ای از مطالب مان را به نمایش بگذاریم و اگر مطلب مان ، همان مطلب مورد نظر کاربر بود می تواند به ادامه مراجعه کرده و مطلب کامل را مطالعه نماید . تعداد کلمات پیشفرض تابع نمایش خلاصه مطلب excerpt وردپرس 50 کلمه می باشد که می توانیم این مقدار پیشفرض را افزایش و یا کاهش دهیم ، اما در بعضی پوسته ها نیاز می شود تا چندین خلاصه مطلب داشته باشیم یعنی برخی ازمطالب مثلا با 70 کلمه در خلاصه مطلب نمایش داده شوند و برخی دیگر با 90 کلمه در این شرایط باید چه کار کنیم ؟ برای آموزش استفاده از چندین خلاصه مطلب در قالب وردپرس تا انتهای این مطلب با ما همراه باشید .

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


function wpe_excerptlength_teaser( $length ) {

    return 45;
}
function wpe_excerptlength_index( $length ) {

    return 30;
}
function wpe_excerptmore( $more ) {

    return '...';
}

توضیح کد : 2 تابع با نام های wpe_excerptlength_teaser با تعداد کلمات 45 کاراکتر و wpe_excerptlength_index با تعداد کلمات 30 کاراکتر ایجاد کردیم . حالا با استفاده از کدهای زیر تابع excerpt جدیدی را در وردپرس مان ایجاد می کنیم ، تا از تعداد کلماتی که تعیین کردیم پیروی کند .


function wpe_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 = '<p>' . $output . '</p>'; // 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 کاراکتر به نمایش بگذاریم .

اگر این مطلب را مفید ارزیابی کردید لطفا به اشتراک بگذارید .

۵ دیدگاه

  1. میثم نادری

    سلام

    وقتي از اين کد

    يا

    براي درج خلاصه يک مطلب در ص فحه ايندکس استفاده ميکنم تمام يک نوشته تبديل ميشه به متن مثلا لينک هايي که گذاشتم يارنگ هايي که براي نوشته هام قرار دادم به متن ساده تبديل ميشه . ميشه راهنمايي کنيد که چه طوري از اين اتفاق جلوگيري کنم ؟

  2. میثم نادری

    سلام

    وقتي از اين کد

    php the_content_rss(”, TRUE, ”, 60

    يا

    php the_excerpt

    براي درج خلاصه يک مطلب در ص فحه ايندکس استفاده ميکنم تمام يک نوشته تبديل ميشه به متن مثلا لينک هايي که گذاشتم يارنگ هايي که براي نوشته هام قرار دادم به متن ساده تبديل ميشه . ميشه راهنمايي کنيد که چه طوري از اين اتفاق جلوگيري کنم ؟

  3. میثم نادری

    سلام

    وقتي از اين کد

    php the_content_rss(”, TRUE, ”, 60)

    يا

    php the_excerpt

    براي درج خلاصه يک مطلب در صفحه ايندکس استفاده ميکنم تمام يک نوشته تبديل ميشه به متن مثلا لينک هايي که گذاشتم يارنگ هايي که براي نوشته هام قرار دادم به متن ساده تبديل ميشه . ميشه راهنمايي کنيد که چه طوري از اين اتفاق جلوگيري کنم ؟

  4. فواد

    سلام

    این روش عکس ها را هم نمایش میدهد ؟!؟!؟
    (چون از تابع ابتدایی توی سایتم استفاده کردم ولی فقط متن را نشان میدهد…)

    ممنون

  5. محسن

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

    اما از تابع the_content_rss که استفاده میکنم و کدهای شما رو حذف میکنم ، تگ پاراگرافی اضافه نمیشه
    فقط مشکلم این میشه که … رو نمیتونم از انتهاش حذفکنم

پاسخ دادن به میثم نادری لغو پاسخ

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