SHET30

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

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

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

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

آنچه در این مقاله می‌خوانید

قرار دادن محتوای یک برگه در بخش دیگر سایت بدون افزونه

برای این کار از شورت‌کد استفاده می‌کنیم. شورت‌کد یعنی یک عبارت کوتاه داخل کروشه که وردپرس موقع نمایش صفحه، اون رو با خروجی واقعی جایگزین می‌کنه. برای نمونه، شورت‌کدی مثل [mihan_page_content id="123"] می‌تونه محتوای برگه شماره ۱۲۳ رو نمایش بده.

این روش چطور کار می‌کنه؟

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

قبل از شروع به چه چیزهایی نیاز دارید؟

  • به مدیریت وردپرس و فایل‌های سایت دسترسی داشته باشید.
  • یک قالب فرزند فعال داشته باشید تا تغییراتتون با به‌روزرسانی قالب اصلی پاک نشن.
  • قبل از ویرایش فایل PHP از سایتتون نسخه پشتیبان بگیرید.
  • شناسه برگه‌ای رو که می‌خواید نمایش بدید پیدا کنید.
  • ترجیحاً تغییرات رو اول روی سایت آزمایشی بررسی کنید.

قالب فرزند نسخه‌ای وابسته به قالب اصلیه که تغییرات اختصاصی شما رو جدا نگه می‌داره. قبل از ادامه، از بخش «نمایش ← پوسته‌ها» مطمئن بشید قالب فرزند فعاله. اگه قالب فرزند ندارید یا با فایل‌های PHP آشنا نیستید، روش افزونه‌ای انتهای مقاله انتخاب کم‌ریسک‌تریه.

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

پیدا کردن شناسه برگه‌ای که می‌خواید نمایش بدید

از پیشخوان وردپرس وارد «برگه‌ها» بشید و برگه موردنظرتون رو برای ویرایش باز کنید. حالا نشانی مرورگر رو ببینید. معمولاً بخشی شبیه post=123 داخل نشانی دیده می‌شه. عدد بعد از post= همون شناسه برگه هست.

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

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

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

اضافه کردن کد به فایل functions.php قالب فرزند

فایل functions.php داخل پوشه قالب فرزند فعال رو باز کنید و کدی که در بخش بعدی می‌بینید به انتهای اون اضافه کنید. اگه فایل از قبل با <?php شروع شده، این عبارت رو دوباره وارد نکنید. کد رو هم‌زمان داخل چند فایل قرار ندید؛ چون تعریف دوباره تابعی با همین نام می‌تونه سایت رو با خطای جدی روبه‌رو کنه.

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

قرار دادن شورت‌کد در نوشته، برگه یا ابزارک

بعد از ذخیره کد، نوشته یا برگه مقصد رو باز کنید. در ویرایشگر بلوکی وردپرس، یک بلوک «شورت‌کد» اضافه کنید و عبارت زیر رو داخل اون بذارید:

[mihan_page_content id="123"]

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

نمایش خودکار محتوای یک برگه در فایل‌های قالب

اگه می‌خواید خروجی داخل فایل‌هایی مثل قالب صفحه، فوتر یا یک بخش اختصاصی نمایش داده بشه، می‌تونید شورت‌کد رو با تابع do_shortcode() اجرا کنید:

<?php
echo do_shortcode( '[mihan_page_content id="123"]' );
?>

این کد باید داخل یک فایل PHP از قالب فرزند قرار بگیره. فایل درست به محل نمایش موردنظرتون بستگی داره. اگه قالب بلوکی دارید، بهتره اول بررسی کنید که آیا همون جایگاه رو می‌تونید با ویرایشگر سایت و بلوک شورت‌کد بسازید یا نه.

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

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

<?php
function mihanwp_page_content_shortcode( $atts ) {
    $atts = shortcode_atts(
        array(
            'id'      => 0,
            'display' => 'content',
        ),
        $atts,
        'mihan_page_content'
    );

    $page_id = absint( $atts['id'] );

    if ( ! $page_id ) {
        return '';
    }

    $page = get_post( $page_id );

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

    static $rendering_pages = array();

    if ( isset( $rendering_pages[ $page_id ] ) ) {
        return '';
    }

    $rendering_pages[ $page_id ] = true;

    global $post;

    $previous_post = $post;
    $title         = get_the_title( $page_id );
    $thumbnail     = get_the_post_thumbnail( $page_id, 'large' );
    $content       = '';
    $output        = '';

    try {
        $post = $page;
        setup_postdata( $post );

        $content = apply_filters( 'the_content', $page->post_content );

        switch ( sanitize_key( $atts['display'] ) ) {
            case 'title-content':
                $output = '<h2 class="embedded-page-title">' . esc_html( $title ) . '</h2>';
                $output .= '<div class="embedded-page-content">' . $content . '</div>';
                break;

            case 'thumbnail':
                $output = $thumbnail ? $thumbnail : '';
                break;

            case 'all':
                $output = '<article class="embedded-page">';
                $output .= '<h2 class="embedded-page-title">' . esc_html( $title ) . '</h2>';
                $output .= $thumbnail ? '<div class="embedded-page-thumbnail">' . $thumbnail . '</div>' : '';
                $output .= '<div class="embedded-page-content">' . $content . '</div>';
                $output .= '</article>';
                break;

            case 'content':
            default:
                $output = '<div class="embedded-page-content">' . $content . '</div>';
                break;
        }
    } finally {
        $post = $previous_post;

        if ( $previous_post instanceof WP_Post ) {
            setup_postdata( $previous_post );
        } else {
            wp_reset_postdata();
        }

        unset( $rendering_pages[ $page_id ] );
    }

    return $output;
}
add_shortcode( 'mihan_page_content', 'mihanwp_page_content_shortcode' );

توضیح ساده هر قسمت از کد

  • shortcode_atts() گزینه‌های شورت‌کد و مقدار پیش‌فرض اون‌ها رو مشخص می‌کنه.
  • absint() شناسه ورودی رو به یک عدد صحیح و مثبت تبدیل می‌کنه.
  • get_post() اطلاعات برگه رو از وردپرس می‌گیره.
  • شرط‌های بعدی مطمئن می‌شن محتوا واقعاً یک برگه منتشرشده هست.
  • آرایه $rendering_pages جلوی بارگذاری دوباره همون برگه در حین اجرای شورت‌کد رو می‌گیره.
  • setup_postdata() اطلاعات برگه در حال پردازش رو موقتاً در اختیار بلوک‌ها و شورت‌کدهای داخلی می‌ذاره.
  • apply_filters( 'the_content', ... ) بلوک‌ها، پاراگراف‌ها و شورت‌کدهای معمول داخل محتوا رو پردازش می‌کنه.
  • esc_html() عنوان رو برای خروجی متنی امن می‌کنه.
  • بخش finally حتی اگه پردازش محتوا با خطا متوقف بشه، اطلاعات قبلی صفحه و محافظ حلقه رو برمی‌گردونه.
  • گزینه display تعیین می‌کنه فقط محتوا، تصویر یا ترکیبی از اجزا نمایش داده بشه.

خروجی پردازش‌شده محتوا دوباره از wp_kses_post() رد نشده؛ چون این پاک‌سازی اضافه ممکنه بعضی تگ‌ها و ویژگی‌هایی رو که بلوک‌ها یا افزونه‌ها تولید می‌کنن حذف کنه. این کد فقط برگه منتشرشده وردپرس رو نمایش می‌ده، ولی سطح دسترسی افرادی که اجازه ویرایش اون برگه رو دارن همچنان مهمه.

نمایش برگه با شناسه یا نامک؛ کدوم بهتره؟

نامک همون بخش خوانای نشانی برگه هست. پیدا کردن اون آسونه، ولی ممکنه موقع تغییر پیوند یکتا یا بازنویسی نشانی عوض بشه. شناسه معمولاً بعد از تغییر عنوان، نامک یا نشانی برگه ثابت می‌مونه. برای همین، کد این آموزش از شناسه استفاده می‌کنه.

تنها نکته اینه که شناسه سایت اصلی و نسخه آزمایشی همیشه یکسان نیست. اگه محتوا رو بین دو سایت جابه‌جا می‌کنید، شناسه رو در مقصد دوباره بررسی کنید.

نمایش عنوان، تصویر شاخص و محتوای برگه

ویژگی display بهتون اجازه می‌ده بخش دلخواه برگه رو نمایش بدید. مقدارهای قابل‌استفاده در کد بالا content، title-content، thumbnail و all هستن.

نمایش فقط محتوای برگه

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

[mihan_page_content id="123" display="content"]

مقدار پیش‌فرض هم content هست. پس اگه ویژگی display رو ننویسید، باز هم فقط محتوا نمایش داده می‌شه.

نمایش عنوان و محتوای برگه با هم

برای آوردن عنوان بالای محتوای برگه، این شورت‌کد رو قرار بدید:

[mihan_page_content id="123" display="title-content"]

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

نمایش تصویر شاخص برگه

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

[mihan_page_content id="123" display="thumbnail"]

اگه عنوان، تصویر شاخص و محتوا رو کنار هم می‌خواید، مقدار all رو بذارید:

[mihan_page_content id="123" display="all"]

اگه برگه تصویر شاخص نداشته باشه، کد فقط بخش‌های موجود رو نمایش می‌ده و جای خالی تصویر به صفحه اضافه نمی‌کنه.

نکات مهم امنیتی و فنی روش بدون افزونه

چرا بهتره کد رو داخل قالب فرزند قرار بدید؟

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

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

جلوگیری از نمایش برگه‌های پیش‌نویس و خصوصی

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

جلوگیری از اجرای حلقه بی‌نهایت

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

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

پاک‌سازی خروجی و محدود کردن دسترسی شورت‌کد

شناسه ورودی با absint() به عدد مثبت تبدیل می‌شه و عنوان هم با esc_html() خروجی می‌گیره. محتوای برگه از مسیر معمول نمایش محتوای وردپرس رد می‌شه. پس بهتره فقط کاربران مورداعتماد اجازه ویرایش و انتشار اون برگه رو داشته باشن.

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

رفع مشکلات رایج نمایش محتوای برگه

چرا شورت‌کد به‌صورت متن نمایش داده می‌شه؟

  • مطمئن بشید کد در فایل functions.php قالب فرزند فعال ذخیره شده.
  • نام شورت‌کد رو دقیقاً به‌شکل mihan_page_content نوشته باشید.
  • در ویرایشگر بلوکی از بلوک «شورت‌کد» استفاده کنید، نه بلوک «کد».
  • بررسی کنید جایگاهی که شورت‌کد رو داخل اون گذاشتید، اجرای شورت‌کد رو پشتیبانی می‌کنه.
  • کش سایت، افزونه کش و مرورگر رو پاک کنید.

چرا استایل یا صفحه‌ساز برگه درست نمایش داده نمی‌شه؟

کد این آموزش محتوای ذخیره‌شده برگه رو از فیلتر معمول وردپرس رد می‌کنه. بلوک‌های استاندارد وردپرس معمولاً از همین مسیر پردازش می‌شن. ولی بعضی صفحه‌سازها برای ساخت ظاهر کامل به فایل‌های CSS، کدهای JavaScript یا قالب اختصاصی خودشون نیاز دارن. برای همین، نمایش محتوای ذخیره‌شده همیشه ظاهر کامل صفحه‌ساز رو بازسازی نمی‌کنه.

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

چرا تصویرها و لینک‌های داخل برگه مشکل دارن؟

تصویرها و لینک‌ها ممکنه بعد از جابه‌جایی سایت، تغییر دامنه، حذف فایل یا عوض‌شدن تنظیمات نشانی درست بارگذاری نشن. محتوای وابسته به صفحه‌ساز یا استایل قالب هم ممکنه بیرون از برگه اصلی ظاهر متفاوتی داشته باشه.

  • برگه اصلی رو جداگانه باز کنید و سالم بودن تصویرها و لینک‌ها رو ببینید.
  • نشانی فایل رو از کتابخانه رسانه دوباره انتخاب کنید.
  • کش و نسخه‌های بهینه‌شده CSS رو پاک کنید.
  • ابزار توسعه مرورگر رو باز کنید و در بخش Network دنبال خطای ۴۰۴ بگردید. این خطا یعنی مرورگر فایل موردنظر رو در نشانی ثبت‌شده پیدا نکرده.

چرا بعد از تغییر قالب کد از کار افتاده؟

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

استفاده از افزونه Insert Pages به‌عنوان روش جایگزین

اگه نمی‌خواید فایل PHP رو تغییر بدید، افزونه Insert Pages یک راه جایگزین در اختیارتون می‌ذاره. امکانات و روش استفاده این افزونه ممکنه با انتشار نسخه‌های جدید تغییر کنه؛ پس قبل از نصب، توضیحات و نیازمندی‌های نسخه فعلی رو در صفحه رسمی افزونه ببینید.

چه زمانی استفاده از افزونه انتخاب بهتریه؟

  • با ویرایش فایل‌های PHP راحت نیستید.
  • می‌خواید برگه رو از داخل ویرایشگر و بدون نوشتن کد انتخاب کنید.
  • افراد مختلفی محتوا رو مدیریت می‌کنن و رابط دیداری براشون ساده‌تره.
  • نسخه فعلی افزونه امکانات موردنیازتون رو در اختیارتون می‌ذاره.

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

نصب و استفاده از بلوک Insert Page

از پیشخوان وارد «افزونه‌ها ← افزودن افزونه تازه» بشید. عبارت Insert Pages رو جست‌وجو کنید و مشخصات افزونه رو با صفحه رسمی اون تطبیق بدید. بعد از بررسی سازگاری نسخه فعلی با سایتتون، افزونه رو نصب و فعال کنید.

نصب افزونه Insert Pages
نصب افزونه Insert Pages

حالا نوشته یا برگه مقصد رو باز کنید و روی دکمه افزودن بلوک بزنید. اگه نسخه نصب‌شده بلوک Insert Page رو در اختیارتون می‌ذاره، اون رو پیدا کنید، برگه موردنظرتون رو انتخاب کنید و نوع خروجی رو روی گزینه مناسب بذارید. جای دقیق تنظیمات ممکنه با نسخه وردپرس، نسخه افزونه، زبان پیشخوان و اندازه صفحه فرق داشته باشه.

نحوه کار با افزونه Insert Pages
نحوه کار با افزونه Insert Pages

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

[insert page='123' display='content']

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

نکات امنیتی و محدودیت‌های نسخه‌های جدید افزونه

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

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

روش بدون افزونه بهتره یا Insert Pages؟

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

Insert Pages برای کاربر مبتدی و تیمی که رابط دیداری می‌خواد ساده‌تره؛ البته به شرطی که نسخه فعلی افزونه با سایت سازگار باشه و امکانات موردنیاز رو داشته باشه. افزونه رو باید به‌روز نگه دارید و صفحه‌های وابسته به اون رو بعد از تغییرات بررسی کنید.

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

جمع‌بندی

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

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

سؤالات متداول

آیا با تغییر محتوای برگه، نسخه نمایش‌داده‌شده هم به‌روز می‌شه؟

بله. شورت‌کد هر بار محتوای همون برگه رو از وردپرس می‌گیره. بعد از ویرایش و ذخیره برگه اصلی، نسخه نمایش‌داده‌شده هم تغییر می‌کنه. اگه تغییر رو نمی‌بینید، کش سایت و مرورگرتون رو پاک کنید.

آیا این روش با ویرایشگر بلوکی وردپرس کار می‌کنه؟

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

می‌تونیم محتوای نوشته یا نوع نوشته سفارشی رو هم نمایش بدیم؟

کد فعلی عمداً فقط برگه منتشرشده رو قبول می‌کنه. برای نوشته یا نوع نوشته سفارشی باید شرط post_type رو با دقت تغییر بدید و سطح دسترسی و وضعیت انتشار اون نوع محتوا رو هم بررسی کنید.

آیا این روش با المنتور و صفحه‌سازهای دیگه سازگاره؟

برای محتوای ساده ممکنه درست کار کنه، ولی ظاهر کامل بعضی صفحه‌سازها به فایل‌ها و قالب‌های اختصاصی وابسته هست. برای چنین محتوایی بهتره اول از قابلیت درج محتوا یا قالب ذخیره‌شده خود صفحه‌ساز استفاده کنید.

نظر شما در این مورد چیه؟

  1. U322099۱۳ مهر ۱۴۰۲

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

    • رضا راد۱۵ مهر ۱۴۰۲

      سلام باید از لایت باکس متن استفاده کنید. افزونه‌های زیادی براش هست.

  2. U10129۶ شهریور ۱۳۹۷

    سلام با استفاده از این افزونه میشه هر پیجی رو هرجایی نشون داد درسته؟من داخل سایتم یک ادرس دارم به این صورت دارم اما نمیدونم چطور باید وارد این افزونه کنم.افزونه برای من به صورت شورت کد کار میکنه فقط

    • تیم پشتیبانیتیم پشتیبانی۶ شهریور ۱۳۹۷

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

  3. کاربر مهمان۲۴ دی ۱۳۹۶

    سلام خانم جعفری من دنبال یه افزونه ام و ازتون یه راهنمایی میخام
    سایت هایی مثل قطره و فیس نما از چه افزونه هایی استفاده میکنن که میتونن مطالب سایت های دیگه رو در سایت خودشون نشون بدن؟
    برفرض سایت خبرانلاین درسایت قطره باز میشه و انگار ک از سایت خبر انلاین بازدید میکنی:|
    میشه راهنمایی کنید

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسخارج از ساعات کاری هستیم؛ دستیار هوش مصنوعی پاسخگوی شماست.هوش مصنوعی

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.