جایگزین کردن کلمات در وردپرس – فیلتر نویسی و کد نویسی ساده در functions

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

یکی از پر کاربرد ترین تکنیک ها برای وب مستران ، امکان کد نویسی های ساده و کوتاه هست که توسط آن تغییر سراسری بر روی تمام محتوی سایت اعمال کنند.

از جمله این تکنیک ها ، تغییر کلمات و یا عبارات است.

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

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

شاید براتون پیش اومده باشه که بعد از ارسال تعداد زیادی مطلب در وبسایت وردپرسی تون ، بخواید یک کلمه یا عبارت رو در همه ی مطالب ارسالی با کلمه و یا عبارت جدیدی جایگزین کنید !

مثلا اگر سایت دانلود نرم افزار، فیلم و …  دارید و در متن نوشته ها از عبارت دریافت فایل استفاده کردید ،

شاید تصمیم بگیرید و بخواید که همه رو به دانلود فایل تغیر بدید .

یا مثلا تو خود سایت داده پردازان مدرن می خوایم در همه ی مطالب ، اگر واژه داده پرداز استفاده شده اون رو با داده پردازان مدرن جایگزین کنیم !

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

.

پیشنهاد میکنیم حتما مقاله آموزشی “افزونه تغییر آدرس لینک ها در وردپرس” را مطالعه فرمایید.

.

فیلترها در وردپرس

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

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

برای افزودن فیلتر در وردپرس تابعی به نام add_filter وجود داره که در حالت معمولش دو تا پارامتر ورودی رو می گیره . پارامتر اول میگه که این فیلتر روی چه بخشی از سایت اعمال بشه و پارمتر دوم هم نام تابعی هست که تغیرات لازم رو روی اون بخش از سایت اعمال می کنه . مثلا کد زیر رو ببینید :

add_filter('the_content', 'replace_words');

با افزودن این خط کد با فایل functions.php قالب وردپرستون دارید یک فیلتر اضافه می کنید که می گید قبل از نمایش محتوای مطالب سایت (the_content) تابع replace_words روی اون محتوا اعمال بشه .

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

این تابع رو به راحتی می تونید با چند خط کد php به شکل زیر تعریف کنید .

function replace_words($content){
$olds = array('دریافت فایل', 'تومن', 'vps');
$news = array('دانلود فایل', 'تومان', 'v.p.s');
$content = str_replace($olds , $news ,$content);
return $content;
}

در این تابع گفتیم که اعضای آرایه olds رو با عضو متناظرشون در ارایه news جایگزین کن ! در واقع گفتیم که تومن ،دریافت فایل و vps رو به ترتیب با تومان ، دانلود فایل و v.p.s جایگزین کن . بر اساس نیازتون می تونید کلمات خودتون رو به این دو آرایه اضافه کنید .

نکته : دقت کنید که کلمات در هر آرایه با کاما از هم جدا شدند . ضمنا کلمات در آرایه olds با عضو متناظرشون در آرایه news جایگزین میشن . پس اگر می خواید کلمه x رو با y جایگزین کنید هر دو باید مثلا عضو چهارم آرایه باشند !

و در آخر …

کاری که شما باید انجام بدید اینه که چنین کدی رو به اول فایل functions.php در قالب وردپرس خودتون اضافه کنید :

<?php
function replace_words($content){
$olds = array('دریافت فایل', 'تومن', 'vps');
$news = array('دانلود فایل', 'تومان', 'v.p.s');
$content = str_replace($olds , $news ,$content);
return $content;
}
add_filter('the_content', 'replace_words');
add_filter('the_excerpt', 'replace_words');
?>

:: در این کد از یه فیلتر دیگه (the_excerpt) هم استفاده شده تا جایگزینی کلمات در خلاصه مطالب هم اعمال بشه!

منبع

.

.

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

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

فایل function.php را باز کنید و کد زیر را بهش اضافه کنید. و استفاده کنید. البته دقت داشته باشین که به جای کلمه و کلمه جایگزین کلمات مورد نظرتون را وارد کنید.

function replace_text_wps($text){
    $replace = array(
        // 'کلمه' => 'کلمه جایگزین'
        'wordpress' => '<a href="#">wordpress</a>',
        'excerpt' => '<a href="#">excerpt</a>',
        'function' => '<a href="#">function</a>'
    );
    $text = str_replace(array_keys($replace), $replace, $text);
    return $text;
}

add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');

منبع

.

.

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

  • حذف کردن یک کلمه از کل مطالب یک سایت با سیستم مدیریت محتوی وردپرس
  • جایگزین کردن یک لینک در تمام مطالب
  • تغییر آدرس لینکی با همان عبارت
  • و…

نیز دارد که با کمی خلاقیت قابل انجام است.

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

5 پاسخ

  1. مشکل من:
    یه افزونه نصب کردم و با اینکه عفوزنه فارسی اما بعضی کلماتش انگلیسی. میخوام این کلمات فارسی کنم.
    میشه راهتمایی کنید؟

  2. ممنون
    داخل cpanel رفتم و فلدر language باز کردم فقط فایل blog-designer.pot هست
    افزونه blog designer هست.
    این فایل کجاست؟ پسوندش چیه؟

    1. وارد cpanel هاست خود بشید ، سپس file manager سپس وارد public html و بعد wp-content و بعد languages
      public_html/wp-content/languages

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

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