rasivell

نمایش بخشی از یک پست

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

سلام خدمت دوستان و مدیران ارجمند

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


<?php //
function custom_excerpt_length( $length ) {
return 53;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
function custom_excerpt_more( $more ) {
return ' [.....]';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
?>

و برای نمایشش از این کد:


<?php the_excerpt(); ?>

خب حالا مشکل اینه که یه جای دیگه قالب هم میخوام یه تعداد کاراکتر دیگه رو نشون بدم! و این فانگشن و کد برای این تعدادی هستش که اینجا تعیین کردم یعنی 53 کاراکتر و تو جای دیگه هم میخوام استفاده کنم نمیشه این کد رو بزارم که اینو بزارم باز عدد 53 هستش! و دوبارم نمیشه اینو کپی کرد تو فانگشن. میخواستم یه کد دیگه بهم بدید که توسط اون بتونم همین کارو یک بار دیگه بکنم بدون تداخل این دو

متشکرم

0

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


لینک به پست

از تابع wp_trim_words استفاده کنید:


<?php
$trimexcerpt = get_the_excerpt();
$shortexcerpt = wp_trim_words( $trimexcerpt, $num_words = 65, $more = ' <a href="' . get_permalink() . '" class="more-link">'.__('more', 'wpparsi').'</a>' );
echo '<p>' . $shortexcerpt . '</p>';
?>

مستقیم در محل نمایش بگذارید بجای 65 عدد دلخواه را بنویسید

http://codex.wordpress.org/Function_Reference/wp_trim_words

2

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


لینک به پست

می تونید تابع هم ازش بسازید تا با با تغییر متغییر تابع دذر جاهای مختلف فراخوانیش کنید مثل


function shortexcerpt($num) {
if(empty($num)) $num = '25';
$trimexcerpt = get_the_content();
$shortexcerpt = wp_trim_words( wpautop($trimexcerpt), $num_words = $num, $more = '[...]' );
echo $shortexcerpt;
}

که با


<?php shortexcerpt('80');?>

فراخوانی می شه

2

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


لینک به پست

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

1

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


لینک به پست

سلامی مجدد....

دوستان یه مشکل دیگه دارم با این کد.. و اون اینه:

وقتی متنی رو منتشر میکنیم و تو اون مطلب مثلا متن بولد شده Bold و یا لینک دار هستش و... ، توی صفحه اصلی که قراره با کد های فوق بخشی از نوشته نشون داده بشه ، نوشته ها بدون این استایل بندی ها هستن! یعنی اگر نوشته لینک داره و یا رنگی هستش و یا بولد یا ایتالیک شده ، نشون نمیده و بدون این استایلا نشون میدن این کد های کوتاه کننده متن ..

برای اون راهی هست؟ که بخوام متن همونطوری که هست با تمام استایل هاش برش بخوره؟

0

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


لینک به پست

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

لینک به صورت


<a href="address/link">لینک</a>

خونده می شه که در نتیجه وقتی مثلا از مثال بالا بخواهیم دو کلمه را نگه داریم مقدارش می شه


<a href="address/link"

که یک تگ باز A ایجاد می شه و مابقی صفحه را هم دچار مشکل می کنه

برای کاری که می خواهید بکنید بهترین راه استفاده از


<!--more-->

داخل نوشته است که محل درست قرار گرفتن بخش اول را مشخص می کنه

می تونید برای more مشابه هایی بسازید تا در محل های مختلف در جاهای مختلف نوشته قرار بگیره

2

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


لینک به پست

از زمینه دلخواه هم می تونید استفاده کنید

1

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


لینک به پست

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

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

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

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


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

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

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


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