
به اشتراک بگذارید
آموزش وردپرس | بلاگ وبداده
لینکدادن خودکار تصاویر به نوشتهٔ مرتبط در وردپرس
- پیشفرض وردپرس چیست: هنگام درج تصویر، گزینهٔ Link To تعیین میکند تصویر به فایل، صفحهٔ پیوست یا هیچجا لینک شود.
- روش بدون کد: در ویرایشگر بلوکی، از تنظیمات تصویر گزینهٔ لینک را روی «صفحهٔ پیوست» بگذارید.
- روش خودکار (کد): با فیلتر رسمی
attachment_linkدر functions.php لینک همهٔ تصاویر را به نوشتهٔ والد تغییر دهید. - تنظیم پیشفرض: با گزینهٔ
image_default_link_typeحالت لینکِ تصاویرِ جدید را یکبار برای همیشه مشخص کنید. - نکتهٔ صادقانه: تغییر تنظیم پیشفرض فقط روی تصاویر جدید اثر دارد و ویرایش functions.php بدون بکاپ ریسک دارد.
در یک جمله
لینک خودکار تصاویر به نوشتهٔ مرتبط در وردپرس چیست؟
نکتهٔ کلیدی

روشهای لینکدهی تصاویر به پست در وردپرس (گامبهگام)
روش اول: تنظیم لینک تصویر در ویرایشگر (بدون کد)
محدودیت روش دستی
روش دوم: خودکارسازی با فیلتر attachment_link در functions.php
attachment_link دارد که خروجی آدرس هر پیوست را قابل تغییر میکند. با چند خط کد میگوییم: «اگر این پیوست به یک نوشته یا برگه وصل است، بهجای آدرس صفحهٔ پیوست، آدرس همان والد را برگردان.» کد زیر را در فایل functions.php قالب فرزند یا داخل افزونهٔ Code Snippets قرار دهید:<?php
/**
* لینک خودکار تصاویر (صفحهٔ پیوست) به نوشتهٔ والد
* این کد را در functions.php قالب فرزند یا افزونهٔ Code Snippets قرار دهید.
*/
add_filter( 'attachment_link', 'webdade_attachment_link_to_parent', 10, 2 );
function webdade_attachment_link_to_parent( $link, $post_id ) {
$attachment = get_post( $post_id );
// اگر پیوست به یک نوشته یا برگه وصل باشد، لینک را به همان والد تغییر بده
if ( $attachment && $attachment->post_parent ) {
return get_permalink( $attachment->post_parent );
}
// در غیر این صورت، همان لینک پیشفرض پیوست را برگردان
return $link;
}PHPهشدار: ویرایش نادرست functions.php سایت را از کار میاندازد
روش سوم: تعیین حالت پیشفرض لینک تصاویر جدید
image_default_link_type تعیین میکند تصاویری که از این پس درج میشوند به کجا لینک شوند: مقدار post یعنی صفحهٔ پیوست، file یعنی فایل رسانه و مقدار خالی یعنی بدون لینک. با قراردادن مقدار روی post و کنارِ کد روش دوم، تصاویر جدید بهصورت خودکار به نوشتهٔ والد میرسند:<?php
/**
* تعیین حالت پیشفرض «Link To» برای تصاویری که از این پس درج میشوند
* مقدارها: post = صفحهٔ پیوست | file = فایل رسانه | '' = بدون لینک
* ترکیب مقدار post با کد فیلتر بالا، تصویر را خودکار به نوشتهٔ والد میرساند.
*/
add_action( 'after_setup_theme', 'webdade_set_default_image_link' );
function webdade_set_default_image_link() {
update_option( 'image_default_link_type', 'post' );
}PHPاین تنظیم گذشته را تغییر نمیدهد
روش چهارم (تکمیلی سئو): ریدایرکت 301 بازدید مستقیم
<?php
/**
* ریدایرکت 301 بازدید مستقیم صفحهٔ پیوست به نوشتهٔ اصلی (اختیاری، برای سئو)
*/
add_action( 'template_redirect', 'webdade_redirect_attachment_page' );
function webdade_redirect_attachment_page() {
if ( is_attachment() ) {
global $post;
if ( $post && $post->post_parent ) {
wp_safe_redirect( get_permalink( $post->post_parent ), 301 );
exit;
}
}
}PHP
| روش | نیاز به کد | لینک به کجا | مناسبِ چه کسی |
|---|---|---|---|
| تنظیم Link To در ویرایشگر | خیر | صفحهٔ پیوست / فایل / بدون لینک | مبتدی، تصویر به تصویر |
| فیلتر attachment_link | بله | نوشتهٔ والد (خودکار برای همه) | کاربر حرفهای، کل سایت |
| گزینهٔ image_default_link_type | بله (کوتاه) | حالت پیشفرض تصاویر جدید | نیمهحرفهای |
| ریدایرکت 301 با template_redirect | بله | نوشتهٔ والد (بازدید مستقیم) | تمرکز روی سئو |
معایب، محدودیتها و عیبیابی
- ریسک ویرایش دستی کد: یک اشتباه کوچک در functions.php میتواند سایت را با خطای 500 از دسترس خارج کند؛ بکاپ و استفاده از قالب فرزند یا Code Snippets ضروری است.
- اثر نداشتن روی گذشته: تنظیم پیشفرض فقط تصاویر جدید را پوشش میدهد؛ تصاویر قدیمی نیاز به ویرایش دستی یا ریدایرکت دارند.
- سایتهای گالری و عکاسی: اگر عمداً میخواهید صفحهٔ تکتصویر با توضیحات نمایش داده شود، هدایت همهٔ تصاویر به پست به نفع شما نیست.
- وابستگی به ساختار پیوند یکتا: اگر پیوند یکتای سایت بهدرستی تنظیم نشده باشد، آدرس والد ممکن است به شکل ساده (query string) ساخته شود.
| مشکل رایج | علت احتمالی | راهحل |
|---|---|---|
| لینک تصویر عوض نشد | کش افزونه یا مرورگر یا CDN | همهٔ لایههای کش را پاک و در حالت ناشناس تست کنید |
| خطای 500 پس از افزودن کد | اشتباه نگارشی در functions.php | بکاپ را بازگردانید یا از افزونهٔ Code Snippets استفاده کنید |
| تصاویر قدیمی همچنان به پیوست میروند | تنظیم پیشفرض گذشته را عوض نمیکند | کد فیلتر را فعال کنید یا لینک تصویر را دستی ویرایش کنید |
| آدرس والد ناقص یا زشت است | ساختار پیوند یکتا پیشفرض است | از تنظیمات، پیوند یکتا را روی حالت مناسب بگذارید |
نقلقول از مستندات رسمی وردپرس
نقش هاست وردپرس وبداده در اجرای بیدردسر این تغییرات
✅ زیرساخت نسل جدید HPE (Gen11 و Gen10) برای پایداری و پاسخ سریع سرور.
✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به مخاطبان شما.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در ویرایش کد، بکاپ و رفع خطای احتمالی.
پرسشهای پرتکرار دربارهٔ لینک تصاویر در وردپرس
فرق «صفحهٔ پیوست» و «فایل رسانه» در گزینهٔ Link To چیست؟
فایل رسانه (Media File) کاربر را مستقیم به خود فایل تصویر با آدرسی مثل uploads/image.jpg میبرد و چیزی جز عکس نشان نمیدهد. صفحهٔ پیوست (Attachment Page) یک صفحهٔ وردپرسی است که همان تصویر را همراه کمی متادیتا نمایش میدهد و آدرس اختصاصی دارد. برای رساندن کاربر به نوشتهٔ اصلی، صفحهٔ پیوست را انتخاب و با کد این مقاله آن را به والد هدایت میکنیم.
آیا برای این کار حتماً باید کدنویسی بلد باشم؟
نه لزوماً. اگر فقط چند تصویر دارید، میتوانید در ویرایشگر بلوکی برای هر تصویر گزینهٔ Link To را روی صفحهٔ پیوست بگذارید. اما اگر میخواهید این کار برای کل سایت و همهٔ تصاویر بهصورت خودکار انجام شود، یک قطعه کد کوتاه با فیلتر attachment_link سادهترین و پایدارترین راه است.
کد را دقیقاً کجا قرار دهم؟
بهترین جا، فایل functions.php قالب فرزند یا افزونهٔ Code Snippets است. قراردادن کد در قالب فرزند یا افزونه باعث میشود با بهروزرسانی قالب اصلی، کد شما پاک نشود. مستقیم در functions.php قالب اصلی کد نگذارید، چون با اولین آپدیت قالب از بین میرود.
تفاوت این کار با ریدایرکت صفحات پیوست چیست؟
لینکدهی تصویر یعنی تعیین اینکه «کلیک روی تصویر» به کجا برود. ریدایرکت 301 یعنی «بازدید مستقیم آدرس صفحهٔ پیوست» هم به نوشتهٔ والد هدایت شود. این دو مکمل هم هستند: اولی تجربهٔ کلیک را درست میکند و دومی برای پاکسازی سئو و بازدیدهای مستقیم مفید است.
آیا افزونهٔ Yoast این کار را انجام میدهد؟
Yoast در نسخههای جدید آدرس صفحهٔ پیوست را به «خود فایل رسانه» ریدایرکت میکند، نه به نوشتهٔ والد. بنابراین اگر هدف شما دقیقاً رساندن کاربر به نوشتهٔ اصلی است، Yoast گزینهٔ مناسبی نیست و بهتر است از روش کد این مقاله استفاده کنید.
این تغییر به سئوی سایت آسیب میزند؟
خیر، برعکس. هدایت کاربر از صفحهٔ کممحتوای پیوست به نوشتهٔ اصلی، تجربهٔ کاربر را بهتر و ساختار لینک داخلی را منطقیتر میکند. اگر روش ریدایرکت را هم اضافه کنید، حتماً از کد وضعیت 301 (دائمی) استفاده کنید تا اعتبار صفحه به مقصد منتقل شود.
چرا بعد از اعمال کد، لینک بعضی تصاویر عوض نشد؟
دو علت رایج دارد: یا آن تصویر به هیچ نوشتهای «پیوست» نشده (post_parent ندارد) که در این حالت کد عمداً لینک را دستنخورده میگذارد، یا لایهای از کش (افزونه، مرورگر یا CDN) نسخهٔ قبلی را نشان میدهد. کش را پاک کنید و در حالت ناشناس دوباره امتحان کنید.
آیا این روشها روی همهٔ قالبها کار میکنند؟
فیلتر attachment_link و گزینهٔ image_default_link_type بخشی از هستهٔ وردپرساند و مستقل از قالب کار میکنند. با این حال نمایش نهایی صفحهٔ پیوست به فایل قالب attachment.php بستگی دارد؛ اگر از ریدایرکت استفاده کنید، دیگر وابسته به قالب هم نخواهید بود.
جمعبندی و قدم بعدی شما
جمعبندی سریع
✅ روش خودکار و سراسری: فیلتر attachment_link در functions.php.
✅ تنظیم پیشفرض تصاویر جدید: مقدار post برای image_default_link_type.
✅ تکمیل سئو: ریدایرکت 301 بازدید مستقیم صفحهٔ پیوست به والد.



