آموزش حذف تاریخ نظرات وردپرس بدون پاک‌شدن اطلاعات

آموزش حذف تاریخ نظرات وردپرس بدون پاک‌شدن اطلاعات

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

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

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

قبل از حذف تاریخ نظرات وردپرس این نکته‌ها رو بدونید

حذف تاریخ چه تغییری در سایت ایجاد می‌کنه؟

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

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

تأثیر حذف تاریخ دیدگاه‌ها روی سئو

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

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

تهیه نسخه پشتیبان قبل از اضافه‌کردن کد

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

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

روش حذف تاریخ نظرات وردپرس با کد

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

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

کد رو کجا قرار بدیم؟

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

فایل functions.php
فایل functions.php

استفاده از فایل functions.php چایلدتم

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

استفاده از یک افزونه اختصاصی برای نگهداری کد

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

اضافه‌کردن کد حذف تاریخ و زمان دیدگاه‌ها

کد زیر رو در محلی که انتخاب کردید بذارید و فایل رو ذخیره کنید:

PHP
// Check whether the comment date should stay visible.function mihanwp_keep_comment_datetime() {    if ( is_admin() || wp_doing_ajax() || is_feed() || ! is_singular() ) {        return true;    }    if ( defined( 'REST_REQUEST' ) && REST_REQUEST ) {        return true;    }    return false;}// Hide comment date only on public singular pages.function mihanwp_hide_comment_date( $date, $format, $comment ) {    if ( mihanwp_keep_comment_datetime() ) {        return $date;    }    return '';}add_filter( 'get_comment_date', 'mihanwp_hide_comment_date', 10, 3 );// Hide comment time only on public singular pages.function mihanwp_hide_comment_time( $time, $format, $gmt, $translate, $comment ) {    if ( mihanwp_keep_comment_datetime() ) {        return $time;    }    return '';}add_filter( 'get_comment_time', 'mihanwp_hide_comment_time', 10, 5 );

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

بررسی نتیجه در صفحه نوشته‌ها

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

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

حذف عبارت‌های اضافی کنار تاریخ نظرات با CSS

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

پیدا کردن کلاس تاریخ با Inspect مرورگر

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

افزودن CSS توسط Inspect
افزودن CSS توسط Inspect

مقداری که داخل ویژگی class می‌بینید، اسم کلاس اون بخشه. برای نمونه، ممکنه قالب شما از کلاس comment-time استفاده کنه. نقطه‌ای که اول نام کلاس در کد CSS می‌ذاریم، جزو اسم اصلی کلاس نیست.

اضافه‌کردن CSS در قالب کلاسیک

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

CSS
.comment-time {    display: none;}

اضافه‌کردن CSS در قالب بلوکی

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

کد CSS رو در این بخش بذارید و تغییرها رو ذخیره کنید. اگه گزینه CSS اضافی رو پیدا نکردید، می‌تونید کد رو به فایل style.css چایلدتم اضافه کنید. برای آشنایی بیشتر با این فایل هم می‌تونید آموزش ساختار فایل CSS رو بخونید.

جایگزین‌کردن کلاس نمونه با کلاس قالب سایتتون

کلاس .comment-time فقط یک مثاله؛ پس اون رو بدون بررسی به‌عنوان کلاس قطعی سایتتون استفاده نکنید. این کلاس رو با اسمی که از طریق Inspect پیدا کردید عوض کنید. مثلاً اگه بررسی کردید و دیدید کلاس comment-metadata فقط اطلاعات تاریخ رو در خودش داره، کدتون به شکل زیر درمیاد:

CSS
.comment-metadata {    display: none;}

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

CSS به حروف بزرگ و کوچیک حساسه. برای مثال، .comment-time و .Comment-time همیشه یک کلاس به حساب نمیان. بهتره اسم کلاس رو دقیقاً همون‌طور که در Inspect می‌بینید کپی کنید.

رفع مشکل کار نکردن کد حذف تاریخ نظرات

  • کش سایت و مرورگر رو پاک کنید: افزونه کش، کش سرور یا شبکه توزیع محتوا ممکنه نسخه قبلی صفحه رو نشون بده. شبکه توزیع محتوا یا CDN سرویسیه که یک نسخه از فایل‌های سایت رو روی چند سرور نگه می‌داره تا صفحه‌ها زودتر باز بشن. بعد از پاک‌کردن کش، صفحه رو دوباره در یک پنجره ناشناس باز کنید.
  • محل قرارگیری کد رو بررسی کنید: کد باید داخل functions.php چایلدتم فعال یا یک افزونه اختصاصی فعال باشه. اگه اون رو به فایل قالبی اضافه کنید که فعال نیست، هیچ تغییری در سایت نمی‌بینید.
  • خطاهای کد رو بررسی کنید: کد رو کامل کپی کنید و نشانه‌های PHP رو تغییر ندید. اگه بعد از ذخیره با خطای فنی روبه‌رو شدید، آخرین تغییر رو از طریق پنل هاست یا مدیر فایل برگردونید.
  • کلاس CSS رو دوباره پیدا کنید: ممکنه کلاس نمونه اصلاً در قالب شما نباشه. اسم کلاس، نقطه اول اون و حروف بزرگ یا کوچیک رو با دقت بررسی کنید.
  • ساختار دیدگاه‌های قالب رو بررسی کنید: بعضی قالب‌ها تاریخ رو با تابع یا ساختار اختصاصی خودشون نشون می‌دن. اگه فیلترهای وردپرس روی خروجی قالب اثری ندارن، مستندات قالب رو ببینید یا از سازنده اون کمک بگیرید.
  • تداخل افزونه‌ها رو در نظر بگیرید: افزونه‌های مربوط به دیدگاه ممکنه خروجی پیش‌فرض وردپرس رو تغییر بدن. در این شرایط باید تنظیمات یا قالب دیدگاه همون افزونه رو بررسی کنید.
  • خروجی‌های دیگه رو هم آزمایش کنید: اگه از خوراک دیدگاه‌ها، افزونه ارسال ایمیل دیدگاه، برنامه موبایل یا ابزاری متصل به REST API استفاده می‌کنید، بعد از افزودن کد اون‌ها رو هم امتحان کنید. کد این آموزش این خروجی‌ها رو کنار می‌ذاره، ولی ممکنه قالب یا افزونه شما تاریخ رو با روش متفاوتی نمایش بده.

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

برگردوندن تاریخ و زمان نظرات وردپرس

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

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

جمع‌بندی

برای حذف تاریخ نظرات وردپرس، بهتره کد PHP رو داخل چایلدتم یا یک افزونه اختصاصی بذارید. کد این آموزش تاریخ و ساعت رو در صفحه‌های تکی عمومی سایت مخفی می‌کنه، ولی اطلاعات اصلی همچنان داخل دیتابیس می‌مونن. پیشخوان، خوراک سایت، REST API و درخواست‌های AJAX هم شامل این تغییر نمی‌شن. اگه بعد از حذف تاریخ، یک عبارت یا جداکننده خالی باقی موند، باید کلاس واقعی اون رو با Inspect پیدا کنید و از طریق CSS مخفیش کنید.

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

سؤالات متداول درباره حذف تاریخ نظرات وردپرس

آیا حذف تاریخ نظرات روی سئو تأثیر داره؟

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

آیا تاریخ دیدگاه از دیتابیس وردپرس هم پاک می‌شه؟

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

آیا می‌تونیم فقط تاریخ یا فقط ساعت رو مخفی کنیم؟

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

چرا کلاس CSS یکسانی برای همه قالب‌ها وجود نداره؟

چون هر قالب، خروجی HTML بخش دیدگاه‌ها رو به شکل خودش می‌سازه. برای همین باید کلاس تاریخ رو با Inspect مرورگر در سایت خودتون پیدا کنید و همون اسم رو داخل کد CSS بذارید.

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

  1. U311907۲۰ اسفند ۱۴۰۰

    سلام ممنون از سایت خوبتون
    من قدم به قدم راه حل شما را انجام دادم و جواب گرفتم. سوال من از شما اینه که آیا کسی که به کدنویسی مسلطه توانایی اینو داره که از طریق inspect تاریخ نظرات را برای خودش فعال کنه و از تاریخ دیدگاه ها با خبر بشه یا نه؟

    • رضا راد۲۱ اسفند ۱۴۰۰

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

  2. کاربر مهمان۵ بهمن ۱۳۹۷

    سلام من این کارو انجام دادم اما تاریخ ها باز هم هست
    چه کار باید کرد؟

    • رضا راد۶ بهمن ۱۳۹۷

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

  3. کاربر مهمان۵ آذر ۱۳۹۶

    سلام
    ببخشید در این پستی که شما گذاشتین، قسمت دومش که مربوط به حذف “حرف اضافه” میشه رو خوب متوجه نشدم. اگه میشه یکم بیشتر و ساده تر توضیح بدین. خیلی ممنون

    • تیم پشتیبانیتیم پشتیبانی۵ آذر ۱۳۹۶

      درود.
      همانطور که در آموزش گفته شده است، کلاس at و posted on را پیدا کنید با استفاده از Inspect Element و کد display: none; را اضافه کنید و در آخر به CSS اضافی از طریق “سفارشی سازی” اضافه کنید.

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

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

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