وردپرس

در این مطلب از سایت آموزش برنامه نویسی سورس باران آموزش جایگزینی عبارات و کلمات در متن مطالب ارسالی در وردپرس رو قرار دادیم. شاید براتون پیش اومده باشه که بعد از ارسال تعداد زیادی مطلب در وبسایت وردپرسی تون ، بخواید یک کلمه یا عبارت رو در همه ی مطالب ارسالی با کلمه و یا عبارت جدیدی جایگزین کنید ! مثلا اگر سایت دانلود نرم افزار، فیلم و …  دارید و در متن نوشته ها از عبارت دریافت فایل استفاده کردید ، شاید تصمیم بگیرید و بخواید که همه رو به دانلود فایل تغیر بدید . یا مثلا تو خود سایت سورس باران می خوایم در همه ی مطالب ، اگر واژه 3ورس باران استفاده شده اون رو با سورس باران جایگزین کنیم ! روش قدیمی و پردردسرش اینه که برگردید و همه ی پست ها رو یکی یکی بررسی کنید و عبارت جدید رو به جای قبلی بزارید . ولی ما در اینجا با چند خط کد و با یه ترفند ساده به شما یاد می دیم که چطور به سادگی این کار رو بدون استفاده از هیچ پلاگینی در وردپرس انجام بدید.

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

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

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

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

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

add_filter('the_content', 'replace_words');

 

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

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

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

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

 

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

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

و در انتها …

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

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

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

موفق باشید.

به این مطلب امتیاز دهید post

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج آموزش برنامه‌ نویسی پایتون در 24 ساعت
  • انتشار: ۶ شهریور ۱۳۹۳

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

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

بازخوردهای خود را برای ما ارسال کنید

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