четверг, 6 сентября 2012 г.

Запятые в тегах Wordpress

Потребовалось решение по поводу возможности использовать запятую в именах тегов на сайте сделанном на Wordpress. Проблема в том, что Wordpress использует запятую как разделитель тегов, поэтому, такой тег как "ДКВР-6,5-13" автоматически превращается в два тега "ДКВР-6" и "5-13", что вообще не очень здорово.

Было найдено почти единственное решение вопроса запятых в тегах, а именно, замена в тегах запятых на "--", и добавление в файл functions.php рабочей темы фильтра, производящего замену "--" на ",".

Ссылка 1
Ссылка 2

Код добавляемый ф functions.php

// filter for tags with comma
//  replace '--' with ', ' in the output - allow tags with comma this way

if(!is_admin()){ // make sure the filters are only called in the frontend
 function comma_tag_filter($tag_arr){
  $tag_arr_new = $tag_arr;
  if($tag_arr->taxonomy == 'post_tag' && strpos($tag_arr->name, '--')){
   $tag_arr_new->name = str_replace('--',', ',$tag_arr->name);
  }
  return $tag_arr_new; 
 }
 add_filter('get_post_tag', comma_tag_filter);
 
 function comma_tags_filter($tags_arr){
  $tags_arr_new = array();
  foreach($tags_arr as $tag_arr){
   $tags_arr_new[] = comma_tag_filter($tag_arr);
  }
  return $tags_arr_new;
 }
 add_filter('get_terms', comma_tags_filter);
 add_filter('get_the_terms', comma_tags_filter);
}
 

Комментариев нет:

Отправить комментарий