روزمرگی فنی
روزمرگی فنی
خواندن ۳ دقیقه·۲ سال پیش

حذف کپی‌رایت لعنتی از پابرگ قالب وردپرسی

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

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

حالت اول: ماستمالی

این قدیمی‌ترین و کاربردی‌ترین روش ممکن است! یعنی کافی است در کدهای قالب، کلاسِ بخش کپی‌رایت یا اطلاعات سایت را پیدا کنیم و سپس از قسمت CSS اضافی به آن دستور display: none بدهیم. در این حالت البته اطلاعات کپی‌رایت حذف نمی‌شود، بلکه صرفا به کاربران سایت نمایش داده نمی‌شود. ضمنا این روش و اینکه به طور کلی محتوایی در صفحه از چشم مخاطب پنهان شود، چندان به مذاق گوگل خوش نمی‌آید؛ ولی مهم نیست.

برای مثال در این قالب وقتی با استفاده از ابزار Inspect در مرورگر نگاهی به کدهای فوتر می‌اندازیم، می‌بینیم که طراح از کلاس footer-site-info.site-info برای بخش کپی‌رایت استفاده کرده:

پس حالا کافیست که در بخش CSS اضافی از دستور زیر استفاده کنیم:

.footer-site-info.site-info {dispaly: none;}

حالت دوم: اصولی

روش بعدی اصلاح کدهای فوتر سایت است که قطعا نسبت به روش اول تمیزتر و آبرومندانه‌تر (!) است. برای اینکار باید فایل footer.php قالب را باز کرد و بعد کدهای مربوط به بخش کپی‌رایت را پیدا و اصلاح یا حذف کرد.

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

حالت سوم: طراح زبل

اما حالتی پیش می‌آید که طراح خیلی «زرنگی» به خرج داده و کدهای بخش کپی‌رایت را مستقیما در فایل footer.php قرار نداده تا کاربری که به قصد حذفش سراغ این فایل رفته دست از پا درازتر برگردد!

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

در اینجا برخلاف مثال قبلی دیگر اثری از آثار کدهای بخش کپی‌رایت نیست، بلکه با تعدادی هوک do_action() طرف هستیم. واضح است که یک action زمانی انجام می‌شود که قبل‌تر تعریف و اضافه شده باشد (add_action). پس باید آن را درجایی بین کدها پیدا و حذف کنیم (remove_action). اما کجا؟

در این مورد افزونه string locator کار را ساده می‌کند. با استفاده از این افزونه اگر مثلا کلیدواژه colormag_action_footer را در قالب مربوطه جستجو کنیم، به فولدری به نام hooks و فایل hooks.php می‌رسیم:

با باز کردن فایل hooks.php می‌توانیم بخش کپی‌رایت را خیلی راحت پیدا کنیم و با تغییر add_action به remove_action آن را از سایت برداریم:

به علاوه در همان فولدر به فایل دیگری هم به اسم footer.php برمی‌خوریم که در آن کدهای بخش نمایش اطلاعات کپی‌رایت موجود هست. بنابراین می‌توانیم متن کپی‌رایت را هرجور که بخواهیم اصلاح یا حذف کنیم:

حالت چهارم: همیار وردپرس

همیار وردپرس از جمله سایت‌های معروفی است که قالب‌های رایگان زیادی را راستچین و فارسی‌سازی می‌کند و در اختیار کاربران قرار می‌دهد. منتها روش همیاروردپرس برای افزودن کپی‌رایت متفاوت است. به این ترتیب که ابتدا متن و محتوای کپی‌رایت را decode می‌کند تا قابل شناسایی و یافتن نباشد و بعد آن را با کدی شبیه به ساختار زیر از طریق فایل functions.php اعمال می‌کند:

add_action('wordpress_theme_initialize', 'wp_generate_theme_initialize'); function wp_generate_theme_initialize( ) { echo base64_decode('xxxxxxxxxxxxxxxxxxxxxxxxxxxxx');

در اینجا کافیست عبارت xxxxxxxxx را پاک یا add_action را به remove_action تغییر دهیم تا کپی‌رایت نمایش داده نشود.

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

در اینجا متن کپی‌رایت، همان کاراکترهای درهم برهمی است که مقابل echo base64_decode قرار دارد و چنانچه رمزگشایی کنیم به شکل زیر درمی‌آید:

بنابراین می‌توان آن عبارت را به کل پاک یا با هر عبارت دلخواه دیگری جایگزین کرد.

حالت پنجم: قالب پیش‌فرض وردپرس

این حالت تفاوت چندانی با حالت دوم که بالاتر توضیح داده شد ندارد. در اینجا باید اول از مسیر زیر فایلی به اسم footer-default.php را پیدا کرد:

wp-content/themes/twentytwentytwo/inc/patterns

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

وندا نوژن

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