[آموزش] فانکشن کاربردی برای چند زبانه بودن سایت

progpars

progpars.com
wordpress.png

{ آموزش استایل دادن جداگانه به قالب برای سایت های دوزبانه وردپرسی }
بسیاری از سایتهای وردپرسی هستند که برای اضافه کردن زبان جدید به سایت از افزونه هایی نظیر qtranslate یا transposh و … استفاده میکنن.

حال ما میخواهیم توسط یک فانکشن به شما آموزش بدیم که در صورتی که نسخه انگلیسی سایت اومد به آدرس site.com/en یک استایل سوا مثل ltr.css بدهد و در غیر این صورت style.css اجرا شود .

اما آموزش :
functions.php قالب خود را باز کنید و کد زیر را به آن اضافه کنید :

PHP:
<?php function _is_ltr() { $base = substr($_SERVER['PHP_SELF'], 0,strrpos($_SERVER['PHP_SELF'], '/')); preg_match("@^{$base}/+([^/]+)@i",$_SERVER['REQUEST_URI'],$uri); if(isset($uri[1]) && strtolower($uri[1]) == 'en') return true; return false; } ?>

حال باید استایل ها را echo کنید برای این کار header.php را باز کنید و قبل تگ </head> کد زیر را اضافه کنید :


PHP:
<?php if(_is_ltr()) { echo "<link rel='stylesheet' href='".get_bloginfo('template_url')."/ltr.css' type='text/css' media='all' />"; } else { echo "<link rel='stylesheet' href='".get_bloginfo('template_url')."/style.css' type='text/css' media='all' />"; } ?>

  • توجه داشته باشید در کد بالا ما یک if گزاشتیم برای فانکشن _is_ltr که اگر سایت انگلیسی بود استایل ltr.css را اجرا کند و سپس شما بایستی یک ltr.css بسازید درون پوشه قالب و استایل سوا بدهید .
  • بعد از آن یک else گزاشتیم که در غیر این صورت style.css را بخواند . شما میتوانید جای Style.css استایل پیش فرض قالب خود را بگزارید .
موفق باشید:)






 

جدیدترین ارسال ها

بالا