پشتیبانی و فارسی کردن آدرس ها در WHMCS [ SEO Friendly URLs ]

به دلیل عدم پشتیبانی SEO Friendly URLs از زبان فارسی در WHMCS امکان بهینه سازی آدرس ها نیست، همچنین چون به دلیل Core Class و کد بودن آن امکان دسترسی و ادیت آن هم نیست به همین دلیل روشی آماده کردیم که با چند مرحله ساده میتوانید Pattern دلخواه و آدرس بهینه همراه با پشتیبانی از زبان فارسی بسازید.

ابتدا فایل .htaccess را باز کنید و اگر از دستور شرطی <IfModule mod_rewrite.c> استفاده شده بعد از آن (یا قبل از بسته شدن </IfModule>) قرار دهید :

RewriteRule ^post\/(\d+)(\/(.*))?$ announcements.php?id=$1 [L]

پترن ما به شکل زیر خواهد بود :

https://my.mellicloud.com/knowledgebase/3/پشتیبانی و فارسی کردن آدرس ها در WHMCS.html

سپس به پوشه قالب خود مراجعه کرده و فایل announcements.tpl را باز کنید و در المان های HTML آن دنبال تگ های a باشید که آدرس آن ها معمولا به شکل های زیر قرار گرفته است :

{$smarty.server.PHP_SELF}?id={$announcement.id}
{if $seofriendlyurls}{$WEB_ROOT}/announcements/{$announcement.id}/{$announcement.urlfriendlytitle}.html{else}{$smarty.server.PHP_SELF}?id={$announcement.id}{/if}

بعد از پیدا کردن تگ ها آدرس آن ها را به شکل زیر تغییر دهید :

<a href="/post/{$announcement.id}/{$announcement.title|replace:' ':'-'}">

برای بهینه سازی آدرس ها در بالا با استفاده از متد Replace در اسمارتی Whitespace ها را با - در آدرس جایگزین کردیم و در آخر فایل را ذخیره کنید.


نمایش لیست اخبار:

همچنین اگر نیاز دارید در یک قسمت از قالب خود لیست اخبار را با URL پترن بهینه شده به قالب پاس دهید، یک فایل با نام news.php در مسیر includes/hooks بسازید و داخل آن قرار دهید :

use Illuminate\Database\Capsule\Manager as Capsule;
function hook_footerAnnouncements($vars){

    $output = null;
    $data = Capsule::table('tblannouncements')
                ->select('*')
                ->where('published', '=', 1)
                ->limit('7')
                ->orderBy('date', 'desc')
                ->get();

    foreach($data as $new) {
        $id                = $new->id;
        $date            = $new->date;
        $title            = $new->title;
        $titleU            = str_replace(' ', '-', $title);
        $announcement    = $new->announcement;
        $date            = fromMySQLDate($date);
        $output .= '<li><a href="/post/'.$id.'/'.$titleU.'/"><i class="material-icons">panorama_fish_eye</i> '.$title.'</a></li>';
    }
    return array("footerannouncements" => $output);
}
add_hook("ClientAreaPage", 1, "hook_footerAnnouncements");

همکنون در در قالب خود میتوانید با اضافه کردن {footerannouncements} لیست آخرین اخبار ها را با SEO Friendly URLs نمایش دهید.

  • پشتیبانی و فارسی کردن آدرس ها در WHMCS, آدرس اخبار, آدرس اخبار whmcs, مشکل لینک اخبار whmcs, whmcs announcements url, آدرس آموزش ها در whmcs
آیا این پاسخ به شما کمک کرد؟ 0 کاربر این را مفید یافتند