Плъгините за многоезичност и последните коментари в WordPress

В моята WordPress инсталация имам Multilingual WordPress by WPML плъгина и GetRecentComments плъгина, които за мое съжаление не работят правилно заедно. Плъгина за коментари показва записи и на двата езика. За да преодолея този проблем, тъй като искам и двата плъгина в блога си, трябваше леко да модифицирам плъгина за коментарите. Ще ви покажа как да го направите и вие, но все пак можете да използвате и своя логика за да го направите – аз имам само два езика, така че го направих по най-простия за мене начин. Ето и модификацията.

След ред 1133 в get-recent-comments.php променете кода, както следва:

$lang = 'en';
if(strstr($_SERVER['REQUEST_URI'], '/bg/'))
{
 $lang = 'bg';
}

while ($comments_number < $requested_number_of_comments)
{
 $query = "SELECT * from $wpdb->comments JOIN {$wpdb->prefix}icl_translations t ON ({$wpdb->comments}.comment_ID = t.element_id AND t.element_type='comment' AND t.language_code = '$lang') WHERE comment_approved= '1' AND " .
 $sql_comment_type .
 $sql_exclude_owner .
 $sql_ignore_ip .
 "ORDER BY comment_date DESC LIMIT " . ($batch_number*$batch_size) . ",$batch_size";
 // echo "$query<br><br>";
 $comments = $wpdb->get_results($query);
 ...

Първо трябва да опредилите, на какъв език ви трябват коментарите, аз лично използвам структурата с папки, и след това да промените заявката и да отсеете само тези, които ви трябват.

Прочети статията на: English

  1. Все още няма коментари.

  1. Все още няма нито един trackback.