Site icon Niltist

SMF – Kelimelere Link Ekleme

smf logo

Geçmişten Günümüze Kadar Gelen Forum Siteleri başlıklı yazımızda da belirttiğimiz üzere forum siteleri yavaş yavaş tarihin tozlu rafları arasında kayboluyor. Aslında tam olarak da kayboluyor diyemeyiz çünkü yıllar önce yazılmış mesajlar, hala bir çok konuda bize yardımcı olmaya devam ediyor.

Bu sitelerde bulunan mesajları, daha güncel içeriklere yönlendirmek için tek tek mesaj düzenlemenin yada görseller hazırlamanın oldukça zahmetli bir iş olduğu çok açık.

Aşağıda bulunan kod aracılığı ile SMF forum sitenizin mesajlarının içinde geçen kelimeleri kolay bir şekilde güncel internet sitelerine link olarak ekleyebilirsiniz. Bu durum hem kullanıcıların güncel içeriklere ulaşmasını kolaylaştıracak, hem de Google SEO açısından güncel internet sitenize katkı sağlayacaktır.

Aşağıda verilen kodlar SMF 2.0.19’da denenmiştir.

1. Subs.php Dosyasına Fonksiyon Ekleme

SMF kurulum dizininize gidin ve Sources/Subs.php dosyasını açın. Dosyanın uygun bir yerine aşağıdaki fonksiyonu ekleyin:

function replace_keywords_with_links($message)
{
// Kelime ve linklerin listesi
$keywords = array(
'example' => 'http://example.com',
'SMF' => 'http://www.simplemachines.org',
// Diğer kelime ve linkler buraya eklenebilir
);

// Her kelime için değiştirme işlemi yap
foreach ($keywords as $keyword => $url) {
    $link = '<a href="' . $url . '" rel="dofollow">' . $keyword . '</a>';
    $message = str_replace($keyword, $link, $message);
}

return $message;

}

2. Display.php Dosyasını Düzenleme

SMF kurulum dizininize gidin ve Sources/Display.php dosyasını açın. prepareDisplayContext fonksiyonunu bulun ve aşağıdaki şekilde düzenleyin:

// Bu satırları bulun:
$message['body'] = censorText($message['body']);
$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);

// Ve şu satırı ekleyin:
$message['body'] = replace_keywords_with_links($message['body']);

3. Settings.php Dosyasına Entegrasyon Ekleme (Gerekirse)

Eğer yukarıdaki yöntemle entegrasyon çalışmazsa, Settings.php dosyasına bu entegrasyonun yüklenmesini sağlamak için bir entegrasyon fonksiyonu ekleyebilirsiniz:

SMF kurulum dizininize gidin ve Settings.php dosyasını açın. Dosyanın uygun bir yerine aşağıdaki kodu ekleyin:

if (file_exists($sourcedir . '/Subs.php'))
    add_integration_function('integrate_pre_include', '$sourcedir/Subs.php', true);
Exit mobile version