• اطلاعیه ها

    • Saeed Fard

      برگزاری میتاپ وردپرسی   14/08/96

      بعد از اولین دوره همایش وردپرس در ایران اگر پیگیر اخبار وردپرس بوده باشید، حتما خبر برگزاری چندین میتاپ و جلسه متعدد وردپرسی را شنیده‌اید، یکی از بحث‌های اصلی که محور اصلی این میتاپ‌ها بوده است برگزاری وردکمپ بود که به طور جدی دنبال می‌شود. این میتاپ‌ها و جلسات توسط جمعی از فعلان حوزه وردپرس در کنار وردپرس‌پارسی برگزار می‌شد و مسائل مربوط به این حیطه و از جمله وردکمپ مورد بحث قرار می‌گرفت. این بار با رایزنی‌هایی که با تیم اصلی وردپرس داشتیم در بخش دوم این رویدادها قصد داریم که میتاپ‌ها و جلسات وردپرسی را به صورت آزاد برگزار کنیم تا تمامی علاقه‌مندان و دوست‌داران وردپرس فرصت حضور داشته باشند و با گردهمایی، جامعه کاملتری از دوست داران وردپرس بسازیم و از تجربیات یکدیگر استفاده کنیم.   بدیهی است که این رویدادها با رویکرد مثبت در جهت سود رسانی به جامعه وردپرس و افراد حاضر در آن برگزار می‌شود و برای تمامی علاقه‌مندان به وردپرس است. پس اگر یک کاربر معمولی وردپرس یا یک توسعه دهنده هستید می‌توانید در این رویدادها شرکت کنید. ما در ملاقات‌هایمان از موارد مختلف و کاربردی وردپرس صحبت می‌کنیم و علاقمند به توسعه هر چه بیشتر وردپرس در ایران هستیم. ما وردپرس را دوست داریم. عضویت در این گروه برای همه افرادی که مایل به پیوستن هستند بدون در نظرگرفتن توانایی‌ها، مهارت‌ها، وضعیت مالی و یا معیارهای دیگر باز و رایگان است. فضای میتاپ‌ها و جلسات ما دوستانه و آزادنه و دور از هرگونه تبعیض و رفتارهای زننده است. بر این اساس از تمامی دوستانی که علاقه‌مند به شرکت در میتاپ‌های وردپرس هستند دعوت می‌شود تا از طریق لینک زیر در سایت میتاپ اقدام به ثبت‌نام کنند و منتظر خبرهای برگزاری جلسات در آینده باشند . لینک ثبت نام و عضویت : https://www.meetup.com/Iran-WordPress-Meetup    
سعید شعبانی

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

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

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