• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
abbas kh

فراخوانی تصاویر شاخص از یک فولدر خاص؟

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

ارسال شده در (ویرایش شده)

من یک موضوعی رو از یک طراح شنیدم که بهم گفت اگر بخوای میتونم برات کاری انجام بدم که به جای اینکه وردپرس عکس اول سایتتو از تصویر شاخص که همون عکس اول هر پست هست برداره به اندازه (220 در 220 ) که اندازه تعریف شده تو قالبم هست ریسایز کنه ، خودت عکساتو دقیقا ریسایز کنی به همون اندازه و اسم هر عکس هم باشه عدد ID اون پست و فقط بره از فولدر مربوطه بخونه و قرار بده. مثلا لینک مطالب من اینجوریه :

example.com/?p=1430

حالا من عکسامو ریسایز و کراپ کردم و همرو به اسمهای p=*** تغییر دادم و تو یه فولدر تو هاستم ریختم.

من در حال حاظر از توابع زیر تو فانکشنم استفاده میکنم :

<?php
//widget ready
if ( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<div class="sidewidget">',
'after_widget' => '</div>',
'before_title' => '<div class="sidetitle"><h2>',
'after_title' => '</h2></div>',
));
// retreives image from the post
function getImage($num) {
global $more;
$more = 1;
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$image[$i] = $postOutput;
$start=$imgEnd+1;

$cleanF = strpos($image[$num],'src="')+5;
$cleanB = strpos($image[$num],'"',$cleanF)-$cleanF;
$imgThumb = substr($image[$num],$cleanF,$cleanB);

}
if(stristr($image[$num],'<img')) { echo $imgThumb; }
$more = 0;
}
//retreive image ends

//page
function custom_wp_pagenavi($prelabel = '', $nxtlabel = '', $pages_to_show = 10, $always_show = false) {
global $request, $posts_per_page, $wpdb, $paged;
if(empty($prelabel)) {
$prelabel = '<strong>«</strong>';
}
if(empty($nxtlabel)) {
$nxtlabel = '<strong>»</strong>';
}
$half_pages_to_show = round($pages_to_show/2);
if (!is_single()) {
if(!is_category()) {
preg_match('#FROM\s(.*)\sORDER BY#siU', $request, $matches);
} else {
preg_match('#FROM\s(.*)\sGROUP BY#siU', $request, $matches);
}
$fromwhere = $matches[1];
$numposts = $wpdb->get_var("SELECT COUNT(DISTINCT ID) FROM $fromwhere");
$max_page = ceil($numposts /$posts_per_page);
if(empty($paged)) {
$paged = 1;
}
if($max_page > 1 || $always_show) {
echo "<div class=\"pagination\"><ul><li><a href=\"#\" class=\"prevnext pages\">صفحه $page از $max_page</a></li>";
if ($paged >= ($pages_to_show-1)) {
echo '<a href="'.get_pagenum_link().'">« First</a> ... ';
}
previous_posts_link($prelabel);
for($i = $paged - $half_pages_to_show; $i <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 && $i <= $max_page) {
if($i == $paged) {
echo "<li><a href=\"#\" class=\"currentpage\">$i</a></li>";
} else {
echo '<li><a href="'.get_pagenum_link($i).'">'.$i.'</a></li>';
}
}
}
echo "<li>";
next_posts_link($nxtlabel, $max_page);
echo "</li>";
if (($paged+$half_pages_to_show) < ($max_page)) {
echo ' ... <a href="'.get_pagenum_link($max_page).'">آخر »</a>';
}
echo "</ul></div>";
}
}
}

?>

و در فایل ایندکسم هم این کدها قرار داره :

<?php } if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue; update_post_caches($posts); ?>
<div class="mainpost">
<div class="contentpost">
<div class="titlepost"><h1><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1></div>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><img src="<?php getImage('1'); ?>" width="220" height="220" class="thumb" /></a>
<?php the_excerpt(); ?>
<div class="postcomment"><?php comments_popup_link('بدون نظر', '1 نظر', '% نظر'); ?></div>
<div class="postmore"><a href="<?php the_permalink() ?>">ادامه مطلب</a></div>
<div class="calcal">
<div style="float:right">
کالری: <?php echo get_post_meta($post->ID, 'cal',true); ?>kcal<br>
</div>
</div>
<div class="clear"></div>
</div>
</div>

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

تا اینجا هر چی سرچ کردمو کدهای فانکشنو تغییر دادم درست نشده ، لطفا اگر امکانش هست دقیقا بگید چه کدی رو با چی جایگزین کنم و اینکه اسم عکسها رو درست رینیم کردم یا خیر و اینکه لینک فولدر عکسها رو کجا باید قرار بدم.

آدرس سایت 101recipe.com هست.

الان دارم یه سری تغییرات روش میدم رو این ساب دامین 101.101recipe.com قراره به این صورت تغییر کنه.

البطه الان فعلا سایت به دلیل فشار بیش از حد به سرور ساسپند شده (به خاطر اختلالات اینترنتی موجود وقتی سایت تو اوج بازدید هست فشار به mysql میاره به گفته پشتیبانی)

فعلا دارم سعی میکنم این مشکلو با سبکتر کردن سایت حل کنم.

این سایت برای همسرم هست و یه سایت آموزشی کاملا رایگانه که اصلا فکرش رو هم نمیکردیم که یه زمانی این مقدار بازدید داشته باشه و امسال برای اینکه خیالمون راحت باشه یه سرور لینوکس vip پر بازدید مثلا خوب گرفتیم ولی از وقتی اختلال ها پیش اومده مدام مشکل داریم.

ویرایش شده در توسط abbas kh
0

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


لینک به پست

الان مشکل چی هست؟

1

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


لینک به پست

ارسال شده در (ویرایش شده)

سلام

اقا مشکل حل شد

اینقدر گشتم تا پیدا کردم و کدی به فانکشن اضافه کردم تا از این به بعد عکس هارو به صورت 220 در 220 نشون بده.

قبلا 6 تا پست تو صفحه بود که عکس اول هر پست ( تصویر شاخص) رو مثلا با اندازه 640*480 بود باید تبدیل میکرد به 100 در 170 و در صورتی که اون عکس کامل لود میشد و مثلا 6 تا عکس 50 تا 70 کیلو بایتی تو صحفه با عث بالا رفتن زمان لود میشد.

ولی الان 10 تا پست نشون میده که دقیقا عکساش 220 در 220 هست و حجمشون هم نسبت به قبل تقریبا شده 1/3 و سرعت لود و مصرف پهنای باند خیلی بهتر شده.

این کدی هست که قرار دادم:


// Add support for Featured Images
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
add_image_size('index-categories', 220, 220, true);
add_image_size('page-single', 220, 220, true);

البطه دقیقا این کد کاری رو که من میخواستم انجام نمیده )بره و از یه فولدری رو یرور عکس پستها رو بخونه) ولی در کل باعث نتیجه نهایی که میخواستم شد.

ویرایش شده در توسط abbas kh
0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط ahmadwp
      سلام خدمت اعضای گرامی.
      در وردپرس فارسی نسخه ۴.۸.۲ مشکلی رو پیدا کردم که راهکاری برای حلش به ذهنم نرسید، ممنون می شم راهنمایی کنید تا حلش کنم.
      وقتی یک قسمت از متن رو انتخاب می کنم و می خوام به اون لینک بدم، وقتی که می خوام بر روی آیکون تیک تا تایید کلیک کنم یا وقتی که می خوام بر روی آیکون چرخ دنده کلیک کنم، پاپ آپ درج لینک هی ظاهر می شه و دوباره محو می شه! و نمی شه بر روی اون آیکون ها کلیک کرد و گزینه ها رو انتخاب کرد.
      ابتدا تصور کردم شاید مشکل از تداخل افزونه ها باشه یا قالب مشکلی داشته باشه یا هنگام به روز رسانی خطایی به وجود اومده باشه، اما وقتی بسته نصبی وردپرس رو مجددا از wp-persian دریافت کردم و بر روی یک فضای دیگه نصب کردم، دیدم که از ابتدا همین مشکل وجود داره، افزونه wp-jalali رو هم غیرفعال کردم اما مشکل حل نشد!
      یعنی چه از ابتدا دریافت و نصب کنین، چه وردپرس قدیمی تر سایت تون رو آپدیت کنین به این نسخه فارسی، همین مشکل براش به وجود میاد.
      یک ویدیو پیوست همین مطلب کردم که به خوبی این مورد رو نشون می ده. سپاسگزارم.
      Video_2017-10-21_110732.wmv
    • توسط mohammad_mh
      سلام
      این سایت من با قالب بی تم
      digiaccount.ir
      و این هم 2 نمونه سایت مثل هم
      https://ebanking.bankmellat.ir/ebanking/
      http://consolefa.ir/
       
      چطوری پوسته سایت را اینطوری  بکنم حالت باکس من فرق داره
    • توسط miraziz
      دوستان من می خواستم برای دسته های سایتم تصویر اضافه کنم. مانند عکس زیر. (در تصویر زیر نام شاعر که در کادر نارنجی رنگ نوشته شده است در واقع آخرین دسته ی فرزند است و تصویر نمایشی هم مربوط به آن است)
      در اینترنت چندین افزونه هستند که من امتحانشون کردم و اصلا به نتیجه ای نرسیدم یا اینکه من درست عمل نکردم. اگر کسی از دوستا لطف کنند و راهنمایی ام کنند ممنون می شم. اگر هزینه ای هم داشته باشه در حد توانم پرداخت می کنم.
       

    • توسط sultansulay
      سلام دوستان عزیز
      من از افزونه مخفی کردن تصویر شاخص استفاده میکنم ولی بازم مخفی نمیشه
      باید چیکار کنم
      http://sultan-music.com