رفتن به مطلب

محدود کردن کاراکترهای the_excerpt


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

سلام

دوستان من میخوام تابع زیر رو مجبور کنم که همش مثلا 100 تا کاراکتر از چکیده ها رو نشون بده؟

باید جه تغییری توش ایجاد کنم؟مرسی


<?php the_excerpt();?>

لینک به ارسال

بله میشه:


http://codex.wordpress.org/Plugin_API/Filter_Reference/excerpt_length

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

لینک به ارسال

اتفاقا پیش پای شما همون جا بودم و اون رو هم امتحان کردم.ولی هیچ اثری نداشت

به نظر شما این کد که ارجاع دادید بهش،با کد زیر تضاد داره؟یعنی هر دوتاش نمیشه تو فانکشن بمونه؟


if ( !function_exists( 'excerpt_length' ) ) :
function excerpt_length($string, $start_postion = 0, $max_length = 280) {
if(strlen($string) > $max_length) {
$excerpt = substr($string, $start_postion, $max_length-3);
$last_space = strrpos($excerpt, ' ');
$excerpt = substr($excerpt, 0, $last_space);
$excerpt .= '[..]';
} else {
$excerpt = $string;
}
return $excerpt;
}
endif;

لینک به ارسال

اثر داره اما باید در فراخوانی تغییر می دادید

در فانکشن:


function string_limit_words($string, $word_limit)
{
$words = explode(' ', $string, ($word_limit + 1));
if(count($words) > $word_limit)
array_pop($words);
return implode(' ', $words);
}

و در فراخوانی مثلاً برای 5 عدد:


<?php $excerpt = get_the_excerpt();
echo string_limit_words($excerpt,5);
?>

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

آخه اشکالش اینه که من داخل جعبه چکیده ها،برای نوشتن مطالب بعد از هر خط اینتر رو زدم.اما داخل صفحه اصلی همه رو پشت هم نشون میده :(

glassy-garden.com

لینک به ارسال

ببینید چکیده یک متن معمولیه - برای اینکه عیناً شکست خط رو هم بتونید داشته باشید باید در همون زمان نوشتن چکیده از </br> استفاده کنید - وگرنه این توابع تغییری نمیدن

لینک به ارسال

:دی

امتحان کردم،شد.منتها ی ذره سخته.با سی اس اس یا اچ تی ام ال نمیشه ی راه فراری درست کرد؟؟!!

لینک به ارسال

در حالت عادی چکیده خاصیت تگ اچ تی ام ال رو در خودش داره (wp-includes/formatting.php) - اما اینکه الان شما مجبورید این عمل رو انجام بدید به خاطر افزودن همون تابع هست

لینک به ارسال

آخه راستش وقتی که این زیری رو وارد میکنم همه چیزش اوکیه.یعنی هم کدوم رو سر ی خط نشون میده.منتها بدیش اینه که طولانیه


<?php the_content();?>

لینک به ارسال

روش کوتاه کردنش رو که دوستان گفتن

مشکل چی هست؟

البته این تابع چون خروجی html رو داره با تابع excerpt که خروجی فیلتر شده داره فرق داره و معمولا همون excerpt رو در چکیده میارن

لینک به ارسال

الان مشکلش اینه که وقتی تابع چکیده رو وارد میکنم زیاد نشون میده.من میخوام تعداد کاراکترهاشو محدود کنم.با این روشی که دوستان میگن میرم درست میشه.منتها همه تو ی جمله می آد

لینک به ارسال

اگر مشکلتون یک اینتره کد


<?php the_excerpt();?>

داخل یک div بگذارید با یک کلاس مشخص مثل


<div class="excerpt">
<?php the_excerpt();?>
</div>

و در css وارد کنید


.excerpt {display:block}

لینک به ارسال
  • 1 ماه بعد...

سلام

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

یک چیزی در سایت

http://www.wordpress98.com/wordpress/%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%85%D8%AE%D8%AA%D8%B5%D8%B1-%DA%86%DA%A9%DB%8C%D8%AF%D9%87-%D9%85%D8%B7%D9%84%D8%A8/

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

فرق جعبه چکیده با یان کاری چه در این تایپیک چه در سایت که لینک دادم در چیه

در ضمن شاید چیزی یا چیزهایی بدونم ولی لطفاً دقیق توضیح بدهید چون خیلی مبدتی هستم یعنی کوچیکترین چیزی که شما فکر می کنید شاید بلد باشم و توضیحش رو نمی دید شاید همون چیز باعث بشه که من سوال دیگه رو بپرسم

لینک به ارسال

وقتی در بخش چکیده چیزی مینویسید باید برای فراخوانیش از تابع the_excerpt() در پوسته تون استفاده کنید

دیگه خیلی ساده گفتم ;)

لینک به ارسال

سلام

حالا خوبه گفتم مبتدی هستم

اون لینکی که من دادم و همینطور کد های نوشته شده در این تایپک رو دقیقاً باید کجا گذاشت یک سوال من هم این بود فکر کنم!

لینک به ارسال

این رو توی فایل single قرار بدید و امتحان کنید:

<?php the_excerpt(); ?>

لینک به ارسال

سلام

در مسیر

wp-content/themes/twentytwelve/single.php

در فایل

single.php

هر جایی قرار بدم فرقی ندره؟

جای مشخص اگه داره لطفاً دقیقاً راهنمایی کنید چون بلد نیستم

لینک به ارسال

باید در حلقه (Loop) قرار بگیره - شما از پوسته 2012 استفاده می کنید. در این پوسته حلقه single.php در فایل content.php قرار گرفته. این فایل رو باز کنید و جایی که عبارت زیر نوشته شده رو ببینید:


<?php if ( is_single() ) : ?>

اینجا حلقه پست شروع میشه. پس عبارت


<?php the_excerpt(); ?>

درونش قرار بدید تا جاییکه به else‌ میرسید که دیگه این حلقه تمام شده.

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

سلام

1 - طبق چیزی که شما گفتید یعنی مسیر که من گفتم اشتباه است؟

---

2 - مسیر که شما گفتید و پیدا کردم این بود درست است ؟

wp-content/themes/twentytwelve/content.php

---

3 - به مسیر که شما گفتید و بالا شماره 2 نوشتم رفتم و در دو محل کپی کردم اول یک جا بعد جای دیگه کپی کردم در صفحه اول سایت اتفاقی نمی افتد ولی در ادمه مطلب بالای مطلب یک خلاصه می یاورد در هر دو جایی که به ترتیب کپی کردم مگه نباید صفحه اول سایت خلاصه رو بیاورد اشکال کجاست؟

---

4 -

کد زیر را پیدا کردم


<?php if ( is_single() ) : ?>

کد زیر رو زیر کد بالایی وارد کردم


<?php the_excerpt(); ?>

نتیجه بدست آمده

کد


<?php the_post_thumbnail(); ?>
<?php if ( is_single() ) : ?>

<?php the_excerpt(); ?>

<h1 class="entry-title"><?php the_title(); ?></h1>



<?php else : ?>
<h1 class="entry-title">

که خلاصه می یاره بالای مطلب

-

دومین تست

زیر کد


<?php the_post_thumbnail(); ?>
<?php if ( is_single() ) : ?>



<h1 class="entry-title"><?php the_title(); ?></h1>

کد زیر را کپی کردم


<?php the_excerpt(); ?>

نتیجه بدست آمده

کد


<?php the_post_thumbnail(); ?>
<?php if ( is_single() ) : ?>



<h1 class="entry-title"><?php the_title(); ?></h1>

<?php the_excerpt(); ?>

<?php else : ?>
<h1 class="entry-title">

در این حالت هم خلاصه می یاد در ادمه مطلب بالای مطلب

حالا راه حل چیه؟

لینک به ارسال

شما سئوالتون رو چک کنید پاسختون درسته ولیب اگر منظورتون جایگزین کردن چکیده مطلب با متن قرار گرفته در صفحه اول سایته در index.php و به جای


<?php the_content();?>

بگذارید


<?php the_excerpt(); ?>

لینک به ارسال

سلام

دقیقاً نفهمیدم کدوم index.php می فرمایید اما در مسیر

wp-content/themes/twentytwelve/index.php


<?php the_content();?>

وجود نداشت

لطفاً مسیر یا مسیر ها

و اگر قرار بود بین کدی قرار بگیره بگید قبل و بعد کدوم کد یا کدها

لینک به ارسال

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

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

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

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

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

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

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

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

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