rasivell

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

14 پست در این موضوع قرار دارد

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

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


<?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(); ?>

0

به اشتراک گذاری این پست


لینک به پست

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

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

3

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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

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

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

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

به اشتراک گذاری این پست


لینک به پست

سلام

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


overflow:hidden

در css

3

به اشتراک گذاری این پست


لینک به پست

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

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

0

به اشتراک گذاری این پست


لینک به پست

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

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

2

به اشتراک گذاری این پست


لینک به پست

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

0

به اشتراک گذاری این پست


لینک به پست

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

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() در پوسته استفاده کنید.

4

به اشتراک گذاری این پست


لینک به پست

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

متشكرم

0

به اشتراک گذاری این پست


لینک به پست
اینجا رو یه نگاهی بنداز شاید به کارت بیاد راستش زیاد متوجه منظورت نشدم {گل} :)
2

به اشتراک گذاری این پست


لینک به پست

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

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

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

0

به اشتراک گذاری این پست


لینک به پست

ارسال شده در (ویرایش شده)

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


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
3

به اشتراک گذاری این پست


لینک به پست

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

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

0

به اشتراک گذاری این پست


لینک به پست

عدد 350 مقدار طول رشته برای excerpt کردنه یه نمونه از استفاده کد

1

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری