شماره گذاری خودکار مطالب وردپرس با افزونه رایگان
- افزونه وردپرسمقالات آموزشی
- بروزرسانی شده در

اگه قسمتهای یک پادکست، جلسههای یک دوره یا چند نوشته دنبالهدار رو منتشر میکنید، شماره هر قسمت کمک میکنه مخاطب خیلی زود ترتیب مطالب رو بفهمه. توی این آموزش یاد میگیرید چطور شماره هر نوشته رو بدون دستکاری عنوان اصلی اون ذخیره و نمایش بدید.
برای این کار، شماره هر نوشته رو توی یک بخش جدا ذخیره میکنیم و وردپرس موقع نمایش، اون رو به ابتدای عنوان اضافه میکنه. برای اجرای راحت و امن کد هم سراغ افزونه رایگان Code Snippets میریم. با این روش، هر وقت لازم باشه میتونید شماره قسمت رو بدون تغییر عنوان نوشته ویرایش کنید.
آنچه در این مقاله میخوانید
آیا خود وردپرس مطالب رو خودکار شمارهگذاری میکنه؟
خود وردپرس به شما اجازه میده نوشتهها رو زمانبندی کنید یا براساس تاریخ مرتب کنید، ولی شماره قسمت رو بهصورت خودکار به عنوان نوشتهها اضافه نمیکنه. پس برای این کار باید شماره رو داخل عنوان بنویسید یا از یک راهکار جدا کمک بگیرید.
نوشتن شماره داخل عنوان برای چند مطلب کار سختی نیست، ولی وقتی مجموعه طولانی بشه دردسر درست میکنه. مثلاً اگه جای دو قسمت عوض بشه، شاید مجبور بشید عنوان چند نوشته رو دوباره ویرایش کنید. راه بهتر اینه که شماره هر قسمت توی یک فیلد جدا ذخیره بشه؛ یعنی یک بخش مخصوص که فقط عدد قسمت رو نگه میداره.
یادتون نره شمارهگذاری عنوان با صفحهبندی در وردپرس فرق داره. صفحهبندی، فهرست نوشتهها یا یک محتوای طولانی رو بین چند صفحه تقسیم میکنه؛ ولی روش این آموزش شماره قسمت رو کنار عنوان هر نوشته نشون میده.
روش پیشنهادی برای شماره گذاری خودکار مطالب وردپرس
با این روش، یک کادر به اسم «شماره قسمت» به صفحه ویرایش نوشته اضافه میشه. شما فقط عدد دلخواهتون رو وارد میکنید و کد موقع نمایش، عبارتهایی مثل «قسمت ۱» یا «قسمت ۲» رو به ابتدای عنوان اضافه میکنه.
شماره داخل عنوان اصلی ذخیره نمیشه. پس اگه افزونه یا کد رو غیرفعال کنید، عنوان اصلی نوشته همونطور دستنخورده باقی میمونه. این مدل برای مجموعههایی خیلی کاربردیه که ممکنه ترتیب قسمتهاشون بعداً تغییر کنه.
نصب افزونه رایگان Code Snippets
اول افزونه رایگان Code Snippets رو نصب کنید. این افزونه به شما کمک میکنه کدهای کوتاه PHP رو بدون ویرایش مستقیم فایلهای قالب اجرا کنید. PHP زبان برنامهنویسی اصلی وردپرسه، ولی نگران نباشید؛ برای انجام این آموزش لازم نیست برنامهنویسی بلد باشید.
- از پیشخوان وردپرس وارد «افزونهها ← افزودن افزونه تازه» بشید.
- عبارت «Code Snippets» رو جستوجو کنید.
- افزونه Code Snippets رو نصب و بعد فعال کنید.
اگه قبلاً افزونه نصب نکردید، آموزش نصب افزونه در وردپرس همه مراحل رو قدمبهقدم بهتون نشون میده.

اضافه کردن کد شمارهگذاری مطالب
بعد از فعال کردن افزونه، از پیشخوان وارد «Snippets ← Add New» بشید. یک اسم مثل «شماره قسمت نوشتهها» برای کد انتخاب کنید و کد زیر رو داخل کادر قرار بدید:
function mihanwp_add_episode_number_box() { add_meta_box( 'mihanwp_episode_number', 'شماره قسمت', 'mihanwp_episode_number_box_html', 'post', 'side', 'default' );}add_action('add_meta_boxes', 'mihanwp_add_episode_number_box');function mihanwp_episode_number_box_html($post) { wp_nonce_field('mihanwp_save_episode_number', 'mihanwp_episode_number_nonce'); $number = get_post_meta($post->ID, '_mihanwp_episode_number', true); ?> <p> <label for="mihanwp_episode_number_field">شماره این قسمت رو وارد کنید:</label> </p> <input type="number" min="1" step="1" id="mihanwp_episode_number_field" name="mihanwp_episode_number_field" value="<?php echo esc_attr($number); ?>" style="width:100%;" > <?php}function mihanwp_save_episode_number($post_id) { if (!isset($_POST['mihanwp_episode_number_nonce'])) { return; } if (!wp_verify_nonce( sanitize_text_field(wp_unslash($_POST['mihanwp_episode_number_nonce'])), 'mihanwp_save_episode_number' )) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } if (!current_user_can('edit_post', $post_id)) { return; } if (isset($_POST['mihanwp_episode_number_field'])) { $number = absint($_POST['mihanwp_episode_number_field']); if ($number > 0) { update_post_meta($post_id, '_mihanwp_episode_number', $number); } else { delete_post_meta($post_id, '_mihanwp_episode_number'); } }}add_action('save_post_post', 'mihanwp_save_episode_number');function mihanwp_show_episode_number_in_title($title, $post_id) { if (is_admin() || get_post_type($post_id) !== 'post') { return $title; } $number = get_post_meta($post_id, '_mihanwp_episode_number', true); if (!$number) { return $title; } return 'قسمت ' . absint($number) . ': ' . $title;}add_filter('the_title', 'mihanwp_show_episode_number_in_title', 10, 2);حالت اجرای کد رو روی اجرای سراسری یا «Run snippet everywhere» بذارید و بعد دکمه ذخیره و فعالسازی رو بزنید. این کد فقط روی نوشتههای معمولی وردپرس اجرا میشه و عنوان برگهها رو تغییر نمیده.

تعیین شماره هر نوشته
- یکی از نوشتههای مجموعه رو برای ویرایش باز کنید.
- کادر «شماره قسمت» رو توی ستون کناری صفحه پیدا کنید.
- شماره دلخواهتون، مثلاً ۱، رو وارد کنید.
- نوشته رو ذخیره یا بهروزرسانی کنید.
- صفحه نوشته رو باز کنید و نتیجه رو ببینید.
مثلاً فرض کنید عنوان اصلی نوشته «آشنایی با پیشخوان وردپرس» هست و شما عدد ۳ رو وارد میکنید. بازدیدکننده عنوان «قسمت ۳: آشنایی با پیشخوان وردپرس» رو میبینه. نوشتههایی هم که شماره ندارن، با همون عنوان معمولی نمایش داده میشن.

نکات مهم قبل از شمارهگذاری نوشتهها
- قبل از فعال کردن کد، از سایتتون نسخه پشتیبان بگیرید.
- برای هر قسمت یک شماره ثابت انتخاب کنید و ترتیب مجموعه رو فقط براساس تاریخ انتشار نچینید.
- شماره رو دوباره داخل عنوان اصلی ننویسید؛ وگرنه بازدیدکننده دو شماره کنار عنوان میبینه.
- اگه از افزونه کش استفاده میکنید، بعد از تغییر شماره، کش سایت رو پاک کنید.
- اگه فقط میخواید نوشته در زمان مشخصی منتشر بشه، از قابلیت داخلی وردپرس یا آموزش زمانبندی پست وردپرس بدون نصب افزونه کمک بگیرید.
این روش شماره رو از روی تاریخ انتشار حدس نمیزنه. شماره درست هر قسمت رو خودتون مشخص میکنید. پس اگه تاریخ نوشتهای رو تغییر بدید، یک نوشته رو حذف کنید یا قسمت تازهای بسازید، ترتیب بقیه مطالب ناخواسته بههم نمیریزه.
آیا وردپرس خودش عنوان نوشتهها رو شمارهگذاری میکنه؟
نه، وردپرس بهصورت پیشفرض شماره قسمت رو به عنوان نوشته اضافه نمیکنه. برای این کار میتونید شماره رو دستی داخل عنوان بنویسید یا از روش کد و فیلد جدا که توی این آموزش گفتیم کمک بگیرید.
افزونه Code Snippets رایگانه؟
بله، نسخه رایگان Code Snippets رو میتونید از مخزن رسمی وردپرس نصب کنید و همین نسخه برای اجرای کد این آموزش کافیه.
آیا این روش عنوان اصلی نوشته رو تغییر میده؟
نه، شماره توی یک بخش جدا ذخیره میشه و فقط موقع نمایش به ابتدای عنوان میاد. اگه کد رو غیرفعال کنید، عنوان اصلی نوشته همون حالت قبلی رو داره.
قبل از اضافه کردن کد باید نسخه پشتیبان بگیریم؟
بله، بهتره قبل از فعال کردن هر کد تازهای از سایتتون نسخه پشتیبان بگیرید. بعد هم کد رو اول روی یک نوشته آزمایشی بررسی کنید تا مطمئن بشید عنوانها درست نمایش داده میشن.
جمعبندی
حالا میتونید نوشتههای سریالی سایتتون رو بدون دستکاری عنوان اصلی شمارهگذاری کنید. بعد از فعال کردن کد، بهتره یک نوشته آزمایشی بسازید و عنوان اون رو توی صفحه نوشته، دستهبندی و نتایج جستوجوی سایت ببینید تا مطمئن بشید همهچیز درست کار میکنه.

ممنون