• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
سعید شعبانی

استفاده از خلاصه مطالب با طول های متفاوت

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

برای قالب جدیدی که دارم طراحی می کنم در یک صفحه نیاز ارم تا برخی از مطالب ارای خلاصه بیشتری باشند و برخی دارای خلاصه کمتری باشند. حالا من از کد


<?php the_excerpt(); ?>

استفاده می کنم. چجوری می تونم طول متنی که این کد فراخوانی می کنه را تغییر بدم؟

0

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


لینک به پست

کافیه توی کمانک ها ( پرانتز ) تعداد کاراکتری که میخواهید نمایش داده شود را وارد کنید

اگر عمل نکرد از کد زیر استفاده کنید


<?php echo excerpt(40); ?>

1

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


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

وقتی که از کد


<?php the_excerpt(40); ?>

استفاده می کنم هیچ تغییری نمی کنه وقتی هم که از کد


<?php echo excerpt(40); ?>

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


Call to undefined function excerpt()

1

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


لینک به پست

کد زیر رو در فایل فانکشن قرار دهید:


function excerpt_count_js(){
echo '<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div style=\"position:absolute;top:0px;right:5px;color:#666;\"><small>Excerpt length: </small><input type=\"text\" value=\"0\" maxlength=\"3\" size=\"3\" id=\"excerpt_counter\" readonly=\"\" style=\"background:#fff;\"> <small>character(s).</small></div>");
jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
jQuery("#excerpt").keyup( function() {
jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
});
});</script>';
}
add_action( 'admin_head-post.php', 'excerpt_count_js');
add_action( 'admin_head-post-new.php', 'excerpt_count_js');

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

5

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


لینک به پست

همچنین:


function your_excerpt_length($length) {
return 40;
}
add_filter('excerpt_length', 'your_excerpt_length');

و

2

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


لینک به پست

کد زیر رو در فایل فانکشن قرار دهید:


function excerpt_count_js(){
echo '<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div style=\"position:absolute;top:0px;right:5px;color:#666;\"><small>Excerpt length: </small><input type=\"text\" value=\"0\" maxlength=\"3\" size=\"3\" id=\"excerpt_counter\" readonly=\"\" style=\"background:#fff;\"> <small>character(s).</small></div>");
jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
jQuery("#excerpt").keyup( function() {
jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
});
});</script>';
}
add_action( 'admin_head-post.php', 'excerpt_count_js');
add_action( 'admin_head-post-new.php', 'excerpt_count_js');

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

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

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 )

از آموزش مشخص کردن تعداد کاراکترها هم وقتی کد زیر را داخل فانکشن قرار می دهم ارور می ده.


function the_content_limit($max_char, $more_link_text = 'ادامه ...', $stripteaser = 0, $more_file = '') {
$content = get_the_content($more_link_text, $stripteaser, $more_file);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
$content = strip_tags($content,'');
if (strlen($_GET['p']) > 0) {
echo "<p>";
echo $content;
echo " <a href='";
the_permalink();
echo "'>"."ادامه مطلب →</a>";
echo "</p>";
}
else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {
$content = substr($content, 0, $espacio);
$content = $content;
echo "<p>";
echo $content;
echo "...";
echo " <a href='";
the_permalink();
echo "'>".$more_link_text."</a>";
echo "</p>";
}
else {
echo "<p>";
echo $content;
echo " <a href='";
the_permalink();
echo "'>"."ادامه مطلب →</a>";
echo "</p>";
}
}

0

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


لینک به پست

شما اول کد زیر را در فایل functions قال قرار بدید


//محدود کردن لغات
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}

function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}

و سپس این کد را هم در جایی که میخواهید خلاصه مطلب نمایش داده بشه قرار بدید :


<?php echo excerpt(40); ?>

1

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


لینک به پست

درود

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


<?php the_content_rss('', TRUE, '', 60); ?>

4

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


لینک به پست

شما اول کد زیر را در فایل functions قال قرار بدید


//محدود کردن لغات
function excerpt($limit) {
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`\[[^\]]*\]`','',$excerpt);
return $excerpt;
}

function content($limit) {
$content = explode(' ', get_the_content(), $limit);
if (count($content)>=$limit) {
array_pop($content);
$content = implode(" ",$content).'...';
} else {
$content = implode(" ",$content);
}
$content = preg_replace('/\[.+\]/','', $content);
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
return $content;
}

و سپس این کد را هم در جایی که میخواهید خلاصه مطلب نمایش داده بشه قرار بدید :


<?php echo excerpt(40); ?>

چرا این کد بیشتر از 60 کاراکتر نشون نمیده؟ آیا میشه از این کد در چند جای مختلف قالب با مقدار های متفاوت استفاده کرد؟

درود

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


<?php the_content_rss('', TRUE, '', 60); ?>

این یکی عالی بود کارم با همین کد راه افتاد خیلی متشکرم از شما ^_^

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط mehrdad_k
      سلام
      من کلی جستجو کردم در این مورد چند کد رو امتحان کردم ولی این کدها طوری خلاصه می کنند که استایلهای داخل متن مثل بلد بودن و رنگی بودن و یا اینتر ها رو حذف می کنند. من میخوام همه اینها روداشته باشم و خلاصه مطلب رو نمایش بدم.
      باتشکر.
    • توسط نسـتـــرن
      سلام
      دوستان من میخوام تابع زیر رو مجبور کنم که همش مثلا 100 تا کاراکتر از چکیده ها رو نشون بده؟
      باید جه تغییری توش ایجاد کنم؟مرسی


      <?php the_excerpt();?>

    • توسط sajjadnajafi
      سلام دوستان
      در صفحه پست(single) میخوایم زیر عنوان چکیده همراه تصویر شاخص در کنارش بیاد (مثل سایت های خبری)
      از پوسته گرافین استفاده میکنیم.(http://wordpress.org/extend/themes/graphene)
      یه مشکل هست که وقتی :


      <?php the_excerpt(); ?>

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