رفتن به مطلب

مشخص كردن تعداد كلمات توضيحات هر پست


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

سلام خدمت دوستان

من توسط كد زير ، تعداد توضيحات هر پست رو قبل از رفتن به صفحه ادامه مطلب ، فيت ميكنم... ولي يه مساله هست ، يه پست خاص دارم كه فضاي نمايش متنش كمتره و ميخوام مثلا توي اون مقدار اين توضيحات رو كمتر كنم، ولي نميدونم چطوري اين دوتارو از هم مجزا كنم و يكي ديگه از اين كوتاه كننده ها ايجاد كنم براي اون پست ! اصلا امكانش هست؟


<?php //بخش ادامه مطلب و كوتاه كننده تعداد كلمات
function custom_excerpt_length( $length ) {
return 70;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
function custom_excerpt_more( $more ) {
return ' [.....]';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
?>

توي حلقه هم اينو ميزارم


<?php the_excerpt(); ?>

لینک به ارسال

اون پست خاص در جای خاص نمایش داده میشه یا خیر فقط یک بار هست و بعد آرشیو میشه؟

یعنی جاش بعدا پست دیگه ایی به همین شکل میاد؟

لینک به ارسال

سلام ببخشيد دير پاسخ ميدم مرتضي جون...

راستش متوجه منظورت نشدم ولي خب اون پست از يه دسته بندي خاصه كه توي صفحه اصلي 4 تا پست اخر اون دسته بندي نمايش داده ميشه و بعد نمايش به ترتيب ارسال هاي جديد ميره تو بخش ارشيو و همون صفحات بعدي ديگه..! مثل حلقه پيش فرض!

فرض كنيد سمت چپ سايت 3 خبر اصلي فوتباله مثلا! كه با ارسال مطالب جديد فقط 4 خبر اصلي رو نمايش ميده و قديمي ها ديگه ميرن تو خود صفحه اون كتگوري و تو صفحه اصلي نيستن

ویرایش شده توسط مهندس یار
یدونه غلط املایی تو خط اول . . .
لینک به ارسال

سلام

یک راهش اینه که بجای چکیده مطلب از زمینه دلخواه استفاده کنید و مقداری که می خواهید را در value زمینه قرار دهید با کمی دستکاری صفحه edit-form-advanced.php می شه زمینه را به شکل textarea دریافت کنید یک راه ساده ترش هم استفاده از خاصیت


overflow:hidden

در css

لینک به ارسال

زمينه دلخواه كه نه ، چون براي كاراي ديگه ازش استفاده كرديم نميخوام زياده روي بشه.

خاصيت مذكور Css هم ميزارم براي تير اخر! :( يعني اگي دوستان راهي براي اين مهم نداشتن اين كارو ميكنم ايمان جان.. متشكرم :)

لینک به ارسال

اگر بخوای با کدنویسی درگیر بشی یک راه دیگه هم هست می تونی افزونه یا کدی بنویسی که در هر پست بیاد مثلا 50 کلمه (یا هرچه که نظرته) رو از اول بشمره و کپی کنه در یک ردیف جدید در جدول و برای فراخوانیش یک نام بگذاری و در قالب در موارد دلخواه فراخوانیش کنی

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

لینک به ارسال

متشكرم واقعا ايمان جان، اخه يه جا يه بحثي در باره همين زمينه هاي دلخواه داشتم با مرتضي ، كه اخرش بي پاسخ موند سوال من و مرتضي جان اشاره راسخ بهش نكرد ولي متوجه شدم كه استفاده زياد از زمينه باعث بروز مشكل در طولاني مدت توي ديتابيس ميشه! و خب گفتم جاهاي ضروري ازش استفاده كنم! و درباره كد نويسي هم اگر جدا در اين حد نشدني باشه ، بي خيالش ميشم و بجاي اينكه توي اون بخش بيام كانتنت يك نوشته رو قرار بدم ، ميام و تايتلش رو قرار ميدم بهتره تا اين همه دردسر! ولي اي كاش ميشد و مثلا مثل تصاوير شاخص كه ميشه چند مدل و اندازه مختلف داشته باشي ، اينجا هم يه همچين چيزي بود

لینک به ارسال

میتونید یک تابع جدید ایجاد کنید و با اون تعداد کاراکتر کمتر رو نمایش بدید. مثلا:

function the___title(){
$title = get_the_title();
$cunt = mb_strlen($title);
if($cunt > 40){
$mtitle = mb_substr($title, 0,40);
$ntitle .= $mtitle.'...';
}elseif($cunt<40){
$ntitle = $title;
}
echo $ntitle;
}

و برای نمایش از the___title() در پوسته استفاده کنید.

لینک به ارسال

مرتضي جان فكر كنم تاپيك كمي به توضيحات اضافي كشيده شد و شما درست متوجه منظورم نشديد :( تاپيك اول گفتم دقيقه چي ميخوام‌، اين كد شما براي تايتل و عنوان نوشته است نه براي متن و توضيحاتش

متشكرم

لینک به ارسال

متشكرم ، قربونت برم ولي من يه بار ديگه متن نوشته خودمو برسي كردم اصلا حرفي از عنوان توي پست اول نزدم باور كنيد!

پست اولم رو بخونيد

من دارم از متون كانتكتس صحبت ميكنم متن هر پست!! حرفايي كه بنده با ايمان جان زدم رو اصلا در نظر نگيريد يه بحث جدا بوده اون! دوستان فقط متن پست اول بنده رو مطالعه كنن

لینک به ارسال

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


if ( !function_exists( 'excerpt_length' ) ) :
function excerpt_length($string, $start_pos = 0, $max_length = 280) {
if(strlen($string) > $max_length) {
$excerpt = substr($string, $start_pos, $max_length-3);
$last_space = strrpos($excerpt, ' ');
$excerpt = substr($excerpt, 0, $last_space);
$excerpt .= '<span style="margin: 0 5px;">...</span>';
} else {
$excerpt = $string;
}
return $excerpt;
}
endif;

کافی در اون شرط استفاده کنی و هربار برای هر پست مقدار max_lenght رو مقدار بدی


echo excerpt_length( get_the_excerpt(), 350 )

ویرایش شده توسط mehral
لینک به ارسال

خودشه زنده باد...

فقط يه سوال. متوجه نشدم عدد 350 تو زمان فراخواني فانگشن شما چيكار ميكنه!؟ من برداشتمش و كاستومايزش كردم

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...