آموزش وردپرس | بلاگ وب‌داده

نمایش محتوای یک برگه داخل نوشته وردپرس

می‌خواهید محتوای یک برگه را بدون کپی‌کردن، همان‌جا داخل نوشته‌تان نشان دهید تا با هر تغییر، همه‌جا خودکار به‌روز شود؟ در این راهنما هم روش افزونه و هم روش کدنویسی را گام‌به‌گام و همراه با مقایسه یاد می‌گیرید.
نمایش محتوای برگه در نوشته یعنی اینکه یک بار محتوایی را در یک برگه بنویسید و بعد همان محتوا را در هر نوشته یا برگه‌ی دیگری «درج» کنید، بدون اینکه متن را دوباره کپی کنید. مزیت اصلی این است که با هر ویرایش برگه‌ی اصلی، آن محتوا در تمام جاهایی که درجش کرده‌اید خودکار به‌روز می‌شود. در این مقاله دو مسیر اصلی، یعنی افزونه و کدنویسی، را با جدول مقایسه، کد آماده و نکات مهم بررسی می‌کنیم.
  • دو روش اصلی: افزونه‌ی آماده (بدون کد و سریع) یا شورت‌کد دستی در قالب فرزند (سبک و بدون افزونه).
  • روش افزونه: افزونه‌ی Insert Pages با شورت‌کد یا بلاک، محتوای برگه را همان‌جا نشان می‌دهد.
  • روش کد: با get_post و فیلتر the_content یک شورت‌کد اختصاصی مثل show_page می‌سازید.
  • جایگزین بومی: «الگوهای همگام» (Synced Patterns) وردپرس برای استفاده‌ی مجدد از یک قطعه محتوا.
  • هشدار حلقه: هرگز برگه‌ای را داخل خودش یا به‌صورت متقابل درج نکنید تا حافظه‌ی سرور تمام نشود.

در یک نگاه

درج محتوای برگه در نوشته مثل «قاب کردن» یک پنجره به اتاق دیگر است؛ به‌جای رنگ‌کردن دوباره‌ی دیوار، فقط پنجره‌ای می‌گذارید که همان اتاق را نشان می‌دهد. یک‌بار محتوا را در برگه بسازید و هرجا خواستید نمایشش دهید. بستر سریع و پشتیبانی راه‌اندازی وردپرس را هم می‌توانید از وب‌داده بگیرید.
حتماً این مقاله را باز کرده‌اید چون می‌خواهید یک بخش تکراری مثل شرایط و قوانین، جدول قیمت، یا معرفی خدمات را در چند نوشته نشان دهید و دیگر خسته‌ی کپی‌کردن دستی و به‌روزرسانی تک‌تک شده‌اید. خبر خوب این است که برای هر سطحی، از مبتدی تا حرفه‌ای، یک راه‌حل روشن داریم و همه را از ساده به فنی توضیح می‌دهیم.

نمایش محتوای برگه در نوشته یعنی چه و چرا به آن نیاز داریم؟

در وردپرس دو نوع محتوای اصلی داریم: «نوشته» (Post) که معمولاً برای مطالب بلاگ و تاریخ‌دار است، و «برگه» (Page) که برای صفحات ثابت مثل درباره‌ما یا تماس با ما به کار می‌رود. گاهی می‌خواهید یک تکه محتوا که در یک برگه ساخته‌اید، عیناً در چند نوشته هم دیده شود؛ مثلاً یک هشدار قانونی، یک فرم، یا یک بخش معرفی خدمات. کپی‌کردن دستی این محتوا در هر نوشته، هم وقت‌گیر است و هم هنگام تغییر، باید همه را یکی‌یکی اصلاح کنید.
برای درک بهتر، محتوای برگه را مثل یک «بلوک آماده‌ی ساختمانی» در نظر بگیرید. به‌جای اینکه هر بار از صفر آجرچینی کنید، همان بلوک آماده را برمی‌دارید و در دیوار جدید کار می‌گذارید. اگر روزی طرح بلوک عوض شود، همه‌ی دیوارهایی که از آن استفاده کرده‌اند هم‌زمان تغییر می‌کنند. این دقیقاً همان صرفه‌جویی در زمان و جلوگیری از خطاست.
چرا این قابلیت ارزش دارد؟ چند دلیل روشن دارد:
  • یک منبع، همه‌جا به‌روز: با ویرایش برگه‌ی اصلی، محتوا در تمام نوشته‌ها خودکار عوض می‌شود.
  • کاهش خطا و محتوای ناهماهنگ: دیگر نگران نیستید که یک نسخه به‌روز باشد و بقیه قدیمی بمانند.
  • مدیریت آسان‌تر: بخش‌های تکراری (قوانین، تماس، بنر تخفیف) را یک‌جا نگه می‌دارید.

نکته‌ی مهم: مراقب محتوای تکراری باشید

درج بی‌رویه‌ی یک محتوای طولانی در ده‌ها نوشته می‌تواند از نظر سئو محتوای تکراری تلقی شود. این قابلیت را برای بخش‌های کاربردی و کوتاه (فرم، هشدار، معرفی) به کار ببرید، نه برای تکثیر متن‌های بلندِ اصلی.
ChatGPT Image Aug 25 2026 09 49 43 AM 1 نمایش محتوای برگه در نوشته وردپرس؛ راهنمای 2026

مقایسه‌ی دو روش: افزونه یا کدنویسی؟

قبل از شروع، این جدول کمک می‌کند بسته به سطح مهارت و نیاز سایتتان، سریع‌تر روش مناسب را انتخاب کنید:
معیارروش افزونه (Insert Pages)روش کدنویسی (شورت‌کد دستی)
سطح مهارت لازممبتدی؛ بدون کدمتوسط تا حرفه‌ای؛ نیاز به PHP
سرعت راه‌اندازیبسیار سریعکمی زمان‌بر
افزونه‌ی اضافهبله، یک افزونهخیر
انعطاف و کنترلخوب (با گزینه‌های آماده)کامل (هرطور بخواهید)
ریسک خرابی سایتکممتوسط (خطای PHP)
مناسب چه کسیاکثر کاربرانکاربران فنی و توسعه‌دهنده

جمع‌بندی جدول

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

آموزش گام‌به‌گام هر دو روش

حالا به سراغ اجرا می‌رویم. ابتدا روش افزونه‌ای را که برای اکثر کاربران مناسب‌تر است توضیح می‌دهیم، بعد روش کدنویسی را برای کسانی که کنترل بیشتر و افزونه‌ی کمتر می‌خواهند.

روش اول: افزونه Insert Pages (ساده‌ترین راه)

محبوب‌ترین افزونه‌ی این کار، Insert Pages نوشته‌ی Paul Ryan است که بیش از ۴۰٬۰۰۰ نصب فعال و امتیاز ۴٫۸ از ۵ دارد و تا وردپرس 7.0 آزمایش شده است. برای راه‌اندازی این مراحل را دنبال کنید:
  • نصب و فعال‌سازی: از «افزونه‌ها ← افزودن» عبارت Insert Pages را جست‌وجو، نصب و فعال کنید.
  • باز کردن نوشته: نوشته‌ای را که می‌خواهید محتوای برگه در آن نمایش داده شود، برای ویرایش باز کنید.
  • افزودن بلاک یا شورت‌کد: بلاک «Insert Page» را اضافه کنید و برگه‌ی مورد نظر را انتخاب کنید؛ یا مستقیم شورت‌کد بنویسید.
  • انتخاب حالت نمایش: در گزینه‌ی Display حالت content را انتخاب کنید تا فقط محتوای برگه (بدون عنوان) نمایش داده شود.
اگر بخواهید بدون بلاک و به‌صورت دستی شورت‌کد بنویسید، فرمت آن این‌گونه است (به‌جای نامک یا شناسه‌ی برگه‌ی خودتان قرار دهید):
// حالا کافی است این شورت‌کد را داخل هر نوشته بنویسید:
[show_page id="123"]

// عدد 123 را با شناسه‌ی برگه‌ی خودتان جایگزین کنید.
// شناسه‌ی برگه را در نوار آدرس هنگام ویرایش برگه، مقابل post= می‌بینید.

گزینه‌های حالت نمایش (Display)

افزونه چند حالت دارد: content فقط محتوا، title فقط عنوان، all عنوان و محتوا با هم، link فقط پیوند، و excerpt چکیده. برای «نمایش محتوای برگه»، حالت content معمولاً همان چیزی است که می‌خواهید.
ChatGPT Image Aug 25 2026 09 51 39 AM 1 نمایش محتوای برگه در نوشته وردپرس؛ راهنمای 2026

روش دوم: شورت‌کد دستی در functions.php (بدون افزونه)

اگر نمی‌خواهید افزونه‌ی جدیدی به سایت اضافه کنید، می‌توانید با چند خط کد یک شورت‌کد اختصاصی بسازید. کد زیر را در فایل functions.php قالبِ فرزند اضافه کنید. این تابع محتوای برگه را با شناسه می‌گیرد و با فیلتر the_content، بلاک‌ها و شورت‌کدهای داخلش را هم درست پردازش می‌کند:
// شورت‌کد ساده برای نمایش محتوای یک برگه داخل نوشته
// این کد را در functions.php قالب فرزند قرار دهید
function webdade_show_page( $atts ) {
    $atts = shortcode_atts( array(
        'id' => 0,   // شناسه (ID) برگه‌ای که می‌خواهید نمایش دهید
    ), $atts );

    $page = get_post( (int) $atts['id'] );

    // اگر برگه پیدا نشد یا منتشر نشده، چیزی نمایش نده
    if ( ! $page || $page->post_status !== 'publish' ) {
        return '';
    }

    // پردازش بلاک‌ها و شورت‌کدهای داخل برگه با فیلتر the_content
    return apply_filters( 'the_content', $page->post_content );
}
add_shortcode( 'show_page', 'webdade_show_page' );
حالا کافی است در هر نوشته، شورت‌کد [show_page id="123"] را بنویسید و عدد را با شناسه‌ی برگه‌ی خودتان جایگزین کنید. اگر بخواهید نسخه‌ی کامل‌تری داشته باشید که هم نامک (slug) را بپذیرد و هم جلوی حلقه‌ی بی‌نهایت را بگیرد، از این کد استفاده کنید:
// نسخه‌ی پیشرفته: پشتیبانی از نامک (slug) و جلوگیری از حلقه‌ی بی‌نهایت
function webdade_show_page_advanced( $atts ) {
    $atts = shortcode_atts( array(
        'id'   => 0,
        'slug' => '',
    ), $atts );

    // یافتن برگه بر اساس شناسه یا نامک
    if ( ! empty( $atts['slug'] ) ) {
        $page = get_page_by_path( sanitize_title( $atts['slug'] ) );
    } else {
        $page = get_post( (int) $atts['id'] );
    }

    if ( ! $page || $page->post_status !== 'publish' ) {
        return '';
    }

    // جلوگیری از درج یک برگه داخل خودش (حلقه‌ی بی‌نهایت)
    if ( get_the_ID() === $page->ID ) {
        return '';
    }

    $content = apply_filters( 'the_content', $page->post_content );
    return '<div class="embedded-page embedded-page-' . esc_attr( $page->ID ) . '">' . $content . '</div>';
}
add_shortcode( 'show_page', 'webdade_show_page_advanced' );

حتماً از قالب فرزند (Child Theme) استفاده کنید

اگر کد را مستقیم در فایل‌های قالب اصلی بگذارید، با اولین به‌روزرسانیِ قالب تغییرات شما پاک می‌شود. راه درست، ساختن یک «قالب فرزند» و افزودن کد در functions.php آن است تا هم تغییراتتان امن بماند و هم قالب را به‌روز نگه دارید.

جایگزین بومی: الگوهای همگام (Synced Patterns)

اگر هدفتان فقط «استفاده‌ی مجدد از یک قطعه محتوا» است و نه لزوماً درج یک برگه‌ی مستقل، وردپرس از نسخه‌ی 6.3 قابلیت «الگوهای همگام» (Synced Patterns، جایگزین بلاک‌های قابل‌استفاده مجدد) را دارد. یک قطعه محتوا را به‌عنوان الگوی همگام ذخیره می‌کنید و در هر نوشته درجش می‌کنید؛ با ویرایش آن، همه‌ی نمونه‌ها هم‌زمان به‌روز می‌شوند. این روش بدون افزونه و بدون کد است، اما برای بازاستفاده از بلاک‌ها طراحی شده، نه نمایش یک برگه‌ی کامل و مستقل.

معایب، عیب‌یابی و نکات مهم

صادقانه بگوییم، این قابلیت در کنار فایده‌هایش چند محدودیت هم دارد که بهتر است از قبل بدانید. نخست، خطر حلقه‌ی بی‌نهایت: اگر برگه‌ی A را داخل نوشته‌ای درج کنید که خودش داخل برگه‌ی A درج شده، رندر تا اتمام حافظه‌ی سرور ادامه می‌یابد و صفحه با خطا روبه‌رو می‌شود. مستند رسمی افزونه Insert Pages هم دقیقاً به همین نکته هشدار می‌دهد.
دوم، ناسازگاری با برخی سازنده‌های صفحه: در بعضی نسخه‌های ویرایشگرها و صفحه‌سازها (بر اساس بازخورد کاربران) درج ممکن است درست رندر نشود؛ در این حالت گزینه‌ی span به‌جای div یا حالت نمایش دیگری را امتحان کنید. سوم، محتوای تکراری: تکثیر یک متن بلند در نوشته‌های زیاد می‌تواند سیگنال محتوای تکراری به موتور جست‌وجو بدهد. چهارم، ریسک کدنویسی: یک اشتباه کوچک در PHP می‌تواند سایت را با خطا روبه‌رو کند، پس بکاپ و قالب فرزند الزامی است.

قبل از ویرایش کد، بکاپ بگیرید

پیش از دست‌زدن به فایل‌های قالب یا افزودن قطعه‌کد، از سایت و دیتابیس بکاپ کامل بگیرید و در صورت امکان تغییرات را اول روی یک نسخه‌ی آزمایشی (Staging) امتحان کنید. این‌طور اگر مشکلی پیش آمد، به‌راحتی به حالت قبل برمی‌گردید.
نکته‌ی مهم دیگر این است که فیلتر the_content باعث می‌شود بلاک‌ها و شورت‌کدهای داخل برگه هم اجرا شوند؛ مرجع رسمی توسعه‌دهندگان وردپرس این رفتار را چنین توضیح می‌دهد:

نقل‌قول از مرجع رسمی وردپرس

«فیلتر the_content محتوای نوشته را پس از خواندن از دیتابیس و پیش از نمایش روی صفحه فیلتر می‌کند.» به همین دلیل برای درج درستِ محتوای برگه (همراه با بلاک‌ها و شورت‌کدهایش) از apply_filters روی the_content استفاده می‌کنیم. منبع: مرجع توسعه‌دهندگان وردپرس؛ قلاب the_content.

میزبانی وردپرس با وب‌داده

چه از افزونه استفاده کنید و چه از کد، درج محتوا هربار یک پرس‌وجوی اضافه به دیتابیس اضافه می‌کند و صفحه باید سریع بارگذاری شود؛ اینجاست که کیفیت میزبانی خودش را نشان می‌دهد. ما در وب‌داده تلاش کرده‌ایم بستری فراهم کنیم که این کارها را روان انجام دهد:
✅ زیرساخت سرورهای نسل جدید HPE (Gen11 و Gen10) با دیسک‌های سریع برای پردازش روان درج محتوا و بارگذاری سریع صفحات.
✅ دیتاسنترهای متنوع در ایران، هلند و آلمان برای انتخاب نزدیک‌ترین لوکیشن به کاربران شما.
✅ کنترل‌پنل سی‌پنل به‌همراه فایل‌منیجر و ابزار بکاپ برای ویرایش امنِ فایل قالب و افزودن قطعه‌کد.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در نصب افزونه، ساخت قالب فرزند و رفع خطاهای وردپرس.

تجربه‌ی پشتیبانی وب‌داده

در تیم پشتیبانی وب‌داده بارها پیش آمده که کاربری با شورت‌کد دستی، محتوای یک برگه را در چند نوشته درج کرده و بعد شکایت دارد که صفحه سفید شده یا خطا می‌دهد. تقریباً همیشه علت، درج متقابل دو برگه در هم (حلقه) یا خطای کوچک در کد functions.php است؛ ما یا کد را با نسخه‌ی امنِ ضدحلقه جایگزین می‌کنیم یا به افزونه‌ی مناسب راهنمایی می‌کنیم و مشکل حل می‌شود. همین نشان می‌دهد بیشترِ مشکلات به روش پیاده‌سازی برمی‌گردد، نه به خود وردپرس.
اگر به‌دنبال بستری سریع و مطمئن برای راه‌اندازی وردپرس و سایر سرویس‌های خود هستید، می‌توانید سرور مجازی ایران وب‌داده را بررسی کنید که با منابع اختصاصی و امکان انتخاب سیستم‌عامل در اختیار شما قرار می‌گیرد. همچنین، اگر به محیط مدیریت هاست ساده و کاربردی نیاز دارید، هاست سی‌پنل وب‌داده گزینه مناسبی برای میزبانی سایت شماست. برای شروع، مطلب آموزش نصب وردپرس روی سی‌پنل و برای کار با کدهای مشابه، راهنمای افزودن جاوااسکریپت به برگه و نوشته‌های وردپرس کمکتان می‌کند.

پرسش‌های پرتکرار درباره‌ی درج محتوای برگه در نوشته

جمع‌بندی و چک‌لیست نهایی

دیدیم که برای نشان‌دادن محتوای یک برگه داخل نوشته، دو مسیر اصلی داریم: افزونه که ساده و سریع است، و شورت‌کد دستی که سبک‌تر و بدون افزونه است. جایگزین بومیِ الگوهای همگام هم برای بازاستفاده از قطعه‌محتوا در دسترس است. مهم‌ترین نکته‌ها، پرهیز از حلقه‌ی بی‌نهایت، توجه به محتوای تکراری، و استفاده از قالب فرزند و بکاپ پیش از هر تغییر کد است.

چک‌لیست سریع

✅ تصمیم بگیرید افزونه می‌خواهید یا کد.
✅ در روش افزونه، Insert Pages را نصب و حالت نمایش content را انتخاب کنید.
✅ در روش کد، تابع را در functions.php قالب فرزند بگذارید و با شورت‌کد صدا بزنید.
✅ هرگز یک برگه را داخل خودش یا به‌صورت متقابل درج نکنید.
✅ برای بخش‌های کوتاه و کاربردی استفاده کنید تا محتوای تکراری نسازید.
✅ پیش از هر ویرایش کد، بکاپ کامل بگیرید.
در صورتی که سوالی داشتید می‌توانید در بخش نظرات با ما در ارتباط باشید.
منابع: صفحه‌ی رسمی افزونه‌ی Insert Pages در WordPress.org، مرجع رسمی قلاب the_content و تابع get_post در مرجع توسعه‌دهندگان وردپرس، و مستند الگوهای همگام وردپرس.
وب داده
وب داده

جدید ترین مطالب آموزشی و کاربردی را در اینجا بخوانید !
ما با بهره‌گیری از دانش روز و تجربه متخصصان حوزه فناوری، مجموعه‌ای از آموزش‌های کاربردی و مقالات تخصصی را گردآوری کرده‌ایم که هر یک، پاسخی دقیق به پرسش‌های شماست. ؛ از مفاهیم پایه تا پیچیده‌ترین تکنیک‌های حرفه‌ای. اینجا، دانش با زبانی ساده اما عمیق در اختیار شما قرار می‌گیرد.

مقاله‌ها: 41
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *