رفتن به مطلب

پست های پیشنهاد شده

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

! من این کد رو بر اساس تعداد کلمات نوشتم! امیدوارم به دردتون بخوره!

تابع، که بهتره در هدر قرار بگیره!

روش کار اینه که متن و تعداد مجاز کلمات رو میگیره بعد اگر متن بیش از حد مجاز بود اون رو قیچی میکنه و "..." رو به انتهای اون اضافه میکنه در غیر اینصورت کاری روش انجام نمیده و خود متن رو چاپ میکنه!


function limiter_m($str,$limit_word)
{
$tmp=explode(' ',$str);
if (count($tmp)>$limit_word)
{
print_r (implode(' ',array_slice(explode(' ',$str), 0,$limit_word))."...");
}
else
{
print_r(implode(' ',array_slice(explode(' ',$str), 0,$limit_word)));
}
}

خوب حالا هر جا که نیاز به محدود کردن دارید میتونید به شکلهای مختلف از تابع استفاده کنید و تعداد کلمات مجاز رو بهش بدید!

[


1.
<?php limiter_m($post->post_title,20); ?>
2.
<?php limiter_m($post->post_excerpt,40); ?>
3.
<?php limiter_m($post->post_content,20); ?>

امیدوارم بهتون کمک کنه! ;)

  • امتیاز 2
لینک به ارسال

دستتون درد نکنه البته وردپرس برای اینکار تابع داره


wp_trim_words( $post->post_title, $num_words = 4, $more = '… ' );

و بهتره تابع شما هم در functions.php قرار بگیره

  • امتیاز 5
لینک به ارسال

خوبی به اشتراک گذاری تجربه ها اینه که آدم هی چیز جدید یاد میگیره! من این کد رو ندید بودم و وقت گذاشتم خودم نوشتم !! ممنون نکته خوبی بود!!! البته نمیدونم اگر قرار باشه زیاد استفاده کنیم از لحاظ پرفورمنسن کدوم روش کارایی بیشتری داشته باشه!!

  • امتیاز 1
لینک به ارسال

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

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...