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 هستش! و دوبارم نمیشه اینو کپی کرد تو فانگشن. میخواستم یه کد دیگه بهم بدید که توسط اون بتونم همین کارو یک بار دیگه بکنم بدون تداخل این دو

متشکرم

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


لینک به پست

از تابع 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

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


لینک به پست

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


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

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

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


لینک به پست

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

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


لینک به پست

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

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

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

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

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


لینک به پست

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

لینک به صورت


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

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


<a href="address/link"

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

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


<!--more-->

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

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

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


لینک به پست

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

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

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

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


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

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

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


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