جایگزین کردن متن و لینک به صورت کلی

جایگزین کردن متن یا لینک در وردپرس

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

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

خب می تونم بگم که هر کسی به هر دلیلی ممکنه به این مورد نیاز داشته باشه فرضا یک سال فعالیت می کنه سایت و داخل سایت در مدت این یک سال یک متن رو به فرض مثال “خرید و دانلود آنی” برای دکمه خرید داخل سایتش استفاده کرده. حالا به هر دلیلی قصد داره این متن رو به “پرداخت و دانلود آنی” تغییر بده , همون طور که میدونید این کار رو نمیشه یکی یکی وارد مطالب شد و ویرایش کرد. اینجاست که با عملیات search and replace میشه به راحتی در عرض چند ثانیه این تغییرات رو اعمال کرد.

گاهی هم برای تغییر لینک ها نیازمند این تغییر و جایگزین کردن لینک های هستیم , مثلا شما https فعال کردید برای سایتتون حالا برای تغییر ادرس های از http به https می تونید باز هم از این روش استفاده کنید و کلیه لینک های سایتتون رو در عرض چند ثانیه کوتاه به url جدید تغییر بدید.

نحوه جستو جو  و جایگزین کردن متن

من قصد دارم در اینجا دو روش رو بهتون یاد بدم , یک روش از طریق افزونه و یک روش بدون افزونه که از طریق دیتابیس انجام خواهیم داد. در ادامه هر روش رو به صورت مختصر توضیح میدم خدمتتون.

1- افزونه Velvet Blues Update URLs :

به جرات می تونم بگم این افزونه وردپرس یکی از بهترین نمونه ها در این زمینه می باشد , همون طور هم که از اسمش مشخص هست برای تغییر و بروزرسانی لینک ها ایجاد شده البته اسمش اینجوری هست میشه متن هم تغییر داد. ابتدا افزونه Velvet Blues Update URLs رو از مخزن وردپرس دانلود , نصب و فعال کنید . بعد از فعال سازی در پیشخوان وردپرس زیر منوی گزینه ابزارها » Update URLs وجود داره که باید روی این گزینه کلیک کنید. یک صفحه مثل تصویر زیر براتون نمایش داده خواهد شد.

افزونه Velvet Blues Update URLs

افزونه Velvet Blues Update URLs

همون طور که مشاهده می کنید یک بخش برای لینک یا متن قدیمی هست و بخش دوم برای لینک و متن جدید هست, سپس برای اینکه عملیات روی تمامی بخش ها اعمال بشه تیک همه گزینه ها رو بزنید و بعدش روی دکمه Update URLs NOW کلیک کنید. کار تموم شد در عرض چند ثانیه تغییرات شما اعمال خواهد شد.

2- افزونه Search & Replace :

دومین افزونه در زمینه تغییر متن یا لینک های وردپرس افزونه Search & Replace می باشد که این پلاگین هم جزو بهترین برای این کار محسوب میشه. اگر خواستید از افزونه استفاده کنید ابتدا افزونه و نصب و فعال کنید . بعد از فعال شدن در زیر منوی گزینه تنظیمات » بخش Search & Replace وجود داره که باید وارد این بخش بشید . صفحه مثل تصویر زیر براتون نمایش داده میشه  که ار باهاش بسیار راحت است.

افزونه Search & Replace

افزونه Search & Replace

مشخصات

این افزونه قابلیت بک آپ گیری از دیتابیس رو هم داره که قبل از تغییرات این امکان رو میده تا از دیتابیس خود بک آپ تهیه کنید تا در صورت وجود مشکل بتونید به حالت اولیه برش گردونید. همون طور که در تصویر هم مشخص هست چندین تب داره که هر کدوم کار خاص خودش رو انجام میده. کار با افزونه بسیار راحت هست و پیچیدگی انچنانی ندارد. نکته مهم در مورد این افزونه فقط با php ورژن  5.4 و بالا تر کار می کند از نسخه php هاست شما پایین باشه این افزونه روی سایت شما کار نخواهد کرد.

3- افزونه Better Search Replace :

نام گذاری این افزونه با عنوان بهترین افزونه سرچ و ریپلیس ( جست و جو و جایگزین کردن ) می باشد . این افزونه وردپرس هم در زمینه جایگزین کردن لینک جدید یا یک متن جدید داخل دیتابیس جزو بهترین ها و محبوب ترین ها می باشد . بعد از نصب و فعال سازی در مدیریت وردپرس گزینه ابزارها » Better Search Replace اضافه شده که باید به ای بخش مراجعه کنید تصویر زیر مروبط به محیط این کاری این افزونه می باشد.

افزونه Better Search Replace

افزونه Better Search Replace

همون طور که در تصویر مشخص هست دو قسمت برای لینک و آدرس های قدیمی و جدید می باشد , حتی می توان مشخص کرد که داخل دیتابیس داخل کدام جدول این تغییرات رو اعمال کنه.

4- جایگزین کردن لینک جدید یا متن جدید از طریق دیتابیس : در این روش باید بریم داخل هاست بخش phpmyadmin وارد این بخش که شدید روی نام دیتابیس در سمت چپ کلیک کنید . به تصویر زیر نگاه کنید

جایگزین کردن لینک جدید یا متن جدید از طریق دیتابیس

جایگزین کردن لینک جدید یا متن جدید از طریق دیتابیس

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

جایگزین کردن لینک جدید یا متن جدید از طریق دیتابیس

جایگزین کردن لینک جدید یا متن جدید از طریق دیتابیس

یافتن و جایگزینی یک متن یا لینک در دیتابیس

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

UPDATE wp_posts SET post_content = REPLACE (
post_content,
'matn ya link ghadimi',
'matn ya link jadid');

کد بالا میگه که داخل جدول wp_posts سطر مربوط به post_content که همون محتوای نوشته ها و برگه ها در وردپرس می باشد , اگر هدف شما بخش های دیگر باشید باید این دو قسمت رو که اسمشون رو بردم به جدول و سطر مورد نظر خود تغییر بدید و بعد از وارد کردن اطلاعات روی دکمه پایین صفحه گو کلیک کنید و شاهد نتایج کاری که کردید باشید.

5- جایگزین کردن در محتوای مطالب وردپرس با فیلتر ها : آخرین روشی که می خوام برای انجام دادن جایگزینی کلمات و عبارت در وردپرس بهتون بگم استفاده از روش فیلتر هست , در این روش ما از یک تابع وردپرس داخل فایل فانکشن قالب وردپرس خودمون استفاده خواهیم کرد و با این حرکت مشخص کنیم یک سری موارد داخل دیتابیس از حالت قدیمی به جدید تغییر کنن حالا موارد می تونن کلمه / جمله / لینک و …. باشه.

فیلتر در وردپرس چه عملی انجام میدهد

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

نمونه کد اول

ابتدا یک نمونه از این فیلتر رو بهتون معرفی می کنم سپس یک کد کامل در اختیارتون قرار میدم تا با اون بتونید خیلی راحت و به دلخواه خود تغییرات رو انجام بدید.

add_filter('the_content', 'replace_words');

در کد بالا ما محتوای سایت ( نوشته ها و برگه ها ) رو می تونه شامل بشه در پارامتر اول انتخاب کردیم و در پارامتر دوم عملیاتی که می خوایم انجام بشه جایگزینی کلمه هست.

نمونه کد دوم

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

<?php
function replace_words($content){
$olds = array('هادی', 'مدیر سایت', 'https://bigtheme.ir');
$news = array('علی', 'وبمستر', 'https://bigtheme.ir');
$content = str_replace($olds , $news ,$content);
return $content;
}
add_filter('the_content', 'replace_words');
add_filter('the_excerpt', 'replace_words');
?>

کد بالا رو باید به فایل functions.php قالب وردپرس خودتون اضافه کنید می تونید کد رو انتهای کد های فایل فانکشن قبل از ؟> قرار بدید. سپس تغییرات رو ذخیره کنید. در کد بالا بخش مربوط به old اطلاعات قدیمی هست بخش مربوط به new اطلاعات جدید که من سه مورد رو برای تغییر مشخص کردم. در پایان دو فیلتر تعریف کردم با پارامتر  the_content و  the_excerpt که مربوط به خلاصه نوشته و کل نوشته در ادامه مطلب میشه.

و در انتها

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

نتیجه گیری  و سخن پایانی

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

امیدوارم که این مقاله براتون مفید واقع بشه.

یک نظر

  1. افشین

    یعنی همهٔ سایت‌های وردپرسی این کار‌ را میکنند؟! ٬ آیا این روش درست و اصولیه؟ یا تشکر از شما

دیدگاهتان را بنویسید

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