رفتن به مطلب

انتخاب اولین عکس در پست


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

با سلام. دوستان میخام اولین عکس توی هر پستم یه جای خاص نشون داده بشه کلا هر پست بیشتر از یک عکس نمیزارم و میخوام اون عکس یه جا خاصی نشون داده بشه. توی خود نوشته نمیشه چون میاد زیر محتوا میذاره اما من میخوام عکس یه جای دیگه استفاده بشه. امیدوارم منظورمو رسونده باشم. :x

لینک به ارسال

با سلام. دوستان میخام اولین عکس توی هر پستم یه جای خاص نشون داده بشه کلا هر پست بیشتر از یک عکس نمیزارم و میخوام اون عکس یه جا خاصی نشون داده بشه. توی خود نوشته نمیشه چون میاد زیر محتوا میذاره اما من میخوام عکس یه جای دیگه استفاده بشه. امیدوارم منظورمو رسونده باشم. :x

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

تصاویر بندانگشتی در وردپرس

لینک به ارسال

3 راه وجود دارد.

  1. تصویر شاخص.
  2. زمینه دلخواه.
  3. دریافت اولین تصویر از محتوای نوشته.

لینک به ارسال

رای این منظور، کافیست تا یک هک ساده برای آن بنویسیم. پس به شکل زیر عمل می کنیم: (محتوای این تابع را در فایل توابع پوسته function.php قرار دهید.)

* در این اسکریپت یک شرط وجود دارد تا در صورت یافت نشدن تصویر در یک پست، از یک عکس پیشفرض در مطالب استفاده شود.


function get_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}

در مرحله بعد، کافی است تا تابع زیر را در مکانی که میخواهیم تصویر شاخص به نمایش در بیاید فراخوانی کنیم: (مثلا در حلقه فایل index)


<?php echo get_image() ?>

در آخر، به عنوان نمونه، یک کلاس ساده را به همراه استایلی آماده کردیم که می توانید از آن در قالب خود استفاده کنید.


<div class="thumbnail-post">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<img src="<?php echo get_image() ?>" alt="<?php the_title_attribute(); ?>" title="" />
</a>
</div>

اینم css

:


.thumbnail-post img{
float:right; width:140px;
height:140px;
border: 8px solid #f8f7f2;
box-shadow: 3px 6px 8px 1px rgba(0, 0, 0, 0.3);
-moz-box-shadow:3px 6px 8px 1px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: 3px 6px 8px 1px rgba(0, 0, 0, 0.3);
margin-left: 23px;
margin-bottom: 17px;
margin-top: 7px;
}

لینک به ارسال

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

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

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

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

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

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

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

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

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