رفتن به مطلب

تصویر شاخص تصادفی


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

سلام

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

کد زیر به صورت تصادفی نمایش میده ولی دسته بندی خاص نیست و کله مطالبه


<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand' );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></li>
<?php endforeach; ?>

تشکر

لینک به ارسال


<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand', 'category' => 50 );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></li>
<?php endforeach; ?>

به جای 50 id دسته مورد نظر رو بزن.

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

من این کد بکارم اومد ولی تصاویر شاخصی که نمایش میده خیلی بزرگه . میشه کدشو درست بهم بدید که بتونم خودم سایز بدم؟

لینک به ارسال

سایزش چقد میخواین باشه ؟

این قسمت رو توی فایل functions.php توی قالبتون پیدا کن


add_theme_support( 'post-thumbnails' );

این قسمت رو بهش اضافه کن


add_image_size( 'builder_thumb', 125, 125, true ); //

و در نهایت این کد میشه کد ویرایشی که دوستمون داد


<?php
$args = array( 'numberposts' => 5, 'orderby' => 'rand', 'category' => 50 );
$rand_posts = get_posts( $args );
foreach( $rand_posts as $post ) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('builder_thumb'); ?></a></li>
<?php endforeach; ?>

تست کنید

لینک به ارسال

ممنون داداش بابت پاسخ سریعتون

این کد هایی که گفتید از قبل بود .

فقط قسمت builder_thumb یه چیز دیگه بود که مثل شما تغییر دادم . ولی بازم نشد .

اوکی شد داداش . من یه قسمتی رو اشتباه کرده بودم .

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

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

فقط قسمت builder_thumb یه چیز دیگه بود که مثل شما تغییر دادم . ولی بازم نشد .

وقتی یک سایز جدید در functions.php تعریف میکنی تصاویری قبلا آپلود کردی ریسایز نمیشن ، برای ریسایز شدن عکس های قدیمی باید از افزونه regenerate-thumbnails استفاده کنی

لینک به ارسال

بله درست میفرمایید .

قبل این کد من از یه کد دیگه استفاده کردم . نمیشه این کد رو تغییر سایز داد؟

<?php $args = array( 'numberposts' => 5, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></li> <?php endforeach; ?>

آخه تصویر شاخصی که نمایش میده از مطلب میگیره و خیلی بزرگه .

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

دوست عزیز برای تعیین سایز ابتدا باید آن سایز را در فایل functions.php تعریف کرد مثلا با قرار دادن کد زیر سایز 150*150 را تعریف کردیم :


if (function_exists('add_image_size')){
add_image_size( 'thumb.small', 150, 150, true);
}

اگر به خط دوم دقت کنید سایز را 150*150 تعیین کردیم و اسم این سایز را thumb.small قرار دادیم.

حال برای چاپ و نمایش تصویر شاخص در حلقه تکرار وردپرس از تابع the_post_thumbnail استفاده میشود ، اگر این تابع را بدون هیچ ودودی در پرانتزش قرار بدیم تصویر شاخص با ابعاد بزرگ چاپ میشود اما اگر میخواهید با سایزی که در phpfunctions.php تعریف کردیم چاپ شود باید نام سایز را که thumb.small بود بعنوان ورودی به ایت تابع بدیم مثل زیر :


<?php the_post_thumbnail('thumb.small'); ?>

به همین سادگی ، اما ...

اما اگر سایزی به phpfunctions.php اضافه کردید که قبلا وجود نداشت ،تصاویری که قبلا در رسانه وردپرس برای مطالب بارگذاری کردید تغییر سایز نمیشن و وقتی از تابع the_post_thumbnail سعی میکنید که تصاویر شاخص را به اندازه جدید چاپ کنید همان تصویر شاخص با اندازه اصلی چاپ میشه اما تصاویری که بعد از تعریف اندازه در phpfunctions.php باگذاری میکنید ریسایز شده و به همان اندازه قابل استفاده اند.

برای اینکه تصاویری که قبلا بارگذاری کردید به اندازه یا اندازه های جدید که تعریف کردید تبدیل شوند میتونید از افزونه regenerate-thumbnails استفاده کنید.

موفق باشی

لینک به ارسال

مشکل من اینجاست که از تصاویر شاخص در جاهای دیگر هم با سایز 100*100 استفاده می کنم .

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

با css نمیشه تصاویر شاخصی که این کد نمایش میده رو تغییر اندازه داد؟


<?php $args = array( 'numberposts' => 5, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></li> <?php endforeach; ?>

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

با کد سی اس اس میشه تغییر داد سایزو ، کلاس عکستون رو پیدا کنید تو فایل style.css و در اون مقدار


width: 100px;
height:100px;

رو قرار بدید

قالب روی لوکال هستش ؟

لینک به ارسال

مشکل من اینجاست که از تصاویر شاخص در جاهای دیگر هم با سایز 100*100 استفاده می کنم .

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

با css نمیشه تصاویر شاخصی که این کد نمایش میده رو تغییر اندازه داد؟


<?php $args = array( 'numberposts' => 5, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></li> <?php endforeach; ?>

با css میشه اما در سرعت و سئو تاثیر بدشت بدی داره و خیلی به ضررته

میتونی چندین سایز برای تصاویر بند انگشتی در functions.php بزاری :


if (function_exists('add_image_size')){
add_image_size( 'thumb.small', 150, 150, true);
add_image_size( 'thumb.verysmall', 100, 100, true);
add_image_size( 'thumb.mini', 300, 300, true);
}

مثلا کد بالا تصاویر بند انگشتی با سه سایز 150*150 و 100*100 و 300*300 ایجاد کردم ، فقط دقت کن موقع چاپ در تابع the_post_thumbnail هر کدوم از اسم خودش استفاده کنی مثلا برای 300*300 باید :


<?php the_post_thumbnail('thumb.mini'); ?>

اگه بازم مشکل داشتی دیگه باید بدی دست یه طراح برات تنظیم کنه

موفق باشی

لینک به ارسال

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

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

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

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

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

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

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

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

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