kamix

حذف نشدن عکس از پست!

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

سلام دوستان

من میخوام عکس هایی که به پست ضمیمه (اAttach) شدند رو توی صفحه (single.php) نشون بدم. (توجه کنید دوستان من فقط و فقط عکس ها رو میخوام نشون بدم نه کل the_content رو)

واسه همین اول اومدم به پست مورد نظر یکسری عکس اضافه کردم از طریق دکمه "افزودن پرونده چند رسانه ای" :

6482144543205241935_Screenshot%20from%202015-10-21%2016-07-43.png

خب تا اینجا من ۲ تا عکس به پست ضمیمه کردم.

حالا توی صفحه single.php از طریق کد زیر، این عکس ها به درستی نمایش داده میشن :


<?php $images = get_attached_media('image', $post->ID); ?>
<?php foreach($images as $image) : ?>
<?php $image_attributes = wp_get_attachment_image_src($image->ID); ?>
<img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">
<?php endforeach; ?>

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

مشکل از زمانی شروع میشه که مثلا من میخوام یکی از عکس های ضمیمه شده رو از پست حذف کنم (detach).

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

21711144543212525974_Screenshot%20from%202015-10-21%2016-09-38.png

عکس پاک شده، همچنان در پست مربوطه نمایش داده میشه!! ( منظورم بخش مدیریت نیست ها، توی خود حالت "نمایش پست" عکس همچنان وجود داره)

ممنون میشم راهنمایی کنید! مشکل خیلی عجبیه!

ربطی به Ctrl + F5 هم نداره! :wacko:

سپاس

0

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


لینک به پست

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

کد زیر هم همون کار رو میکنه: (خواندن و نمایش فایل های ضمیمه شده پست)


<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();
$args = array(
'post_type' => 'attachment',
'numberposts' => -1,
'post_status' => null,
'post_parent' => $post->ID
);
$attachments = get_posts( $args );
if ( $attachments ) {
foreach ( $attachments as $attachment ) {
echo '<li>';
echo wp_get_attachment_image( $attachment->ID, 'full' );
echo '<p>';
echo apply_filters( 'the_title', $attachment->post_title );
echo '</p></li>';
}
}
endwhile; endif;
?>

0

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


لینک به پست

شما با حذف عکس از پست، درواقع فقط اون رو از پست حذف می‌کنید، نه از کل سایت. برای حذف از خود سایت، وارد قسمت رسانه‌ها بشید و عکس رو پاک کنید.

موفق باشید.

1

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


لینک به پست

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

ممنون بابت پاسخ.

ولی مشکل اصلی همینجاست که من نمیخوام از کل سایت حذف شه! میخوام فقط از پست حذف شه، که نمیشه!

ویرایش شده در توسط kamix
0

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


لینک به پست

در این صورت باید در محتوای پست Crawl کنید و تگ‌های img رو پیدا کنید.

موفق باشید.

1

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


لینک به پست

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

در این صورت باید در محتوای پست Crawl کنید و تگ‌های img رو پیدا کنید.

موفق باشید.

ممنون اگر میشه یکم بیشتر توضیح بدید. یعنی باید با Regex این کاری که فرمودین انجام بدم؟

یک detach ساده، اینهمه دنگ و فنگ داره! :wacko::(

ویرایش شده در توسط kamix
0

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


لینک به پست

شما detach نکردید، همونطور که عرض کردم، فقط تگ نمایش عکس رو حذف کردید. اگه میخواید detach کنید میتونید در بخش رسانه‌ها این کار رو انجام بدید.

شما میتونید با کتابخونه Simple HTML DOM هم همین کار رو انجام بدید. یه سرچ ساده کمکتون میکنه.

موفق باشید.

1

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


لینک به پست

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

اگه میخواید detach کنید میتونید در بخش رسانه‌ها این کار رو انجام بدید.

ممنون بابت پاسخ.

به قسمت زیر رفتم :

رسانه ->کتابخانه

و عکس مورد نظر انتخاب کردم ولی گزینه ای واسه detach کردن ندیدم!! فقط یک گزینه قرمز رنگ "پاک کردن برای همیشه" هست که نمیخوام کلا پاک بشه.

ممنون میشم بفرمایید چطور از طریق رسانه ها میشه اینکارو انجام بدم؟

شما میتونید با کتابخونه Simple HTML DOM هم همین کار رو انجام بدید. یه سرچ ساده کمکتون میکنه.

ممنون الان در موردش سرچ میکنم ببینم چی هست. سپاس

ویرایش شده در توسط kamix
0

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


لینک به پست

شما detach نکردید، همونطور که عرض کردم، فقط تگ نمایش عکس رو حذف کردید. اگه میخواید detach کنید میتونید در بخش رسانه‌ها این کار رو انجام بدید.

شما میتونید با کتابخونه Simple HTML DOM هم همین کار رو انجام بدید. یه سرچ ساده کمکتون میکنه.

موفق باشید.

به آدرس زیر که رفتم :


/wp-admin/upload.php?mode=list

توی لیستی که تمام عکس های بارگذاری شده رو نشون میاد، گزینه "جداسازی" رو پیدا کردم بالاخره، ممنون

ولی خب همون روش Simple HTML‌ DOM رو ترجیح میدم.

ممنون خیلی خیلی لطف کردید :wub:

1

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


لینک به پست

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

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

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

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


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

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

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


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