Заменить массив строк в контенте для Wordpress - PullRequest
2 голосов
/ 26 марта 2010

Я работаю над музыкальным блогом, в котором оценки публикуются в диапазоне от 0,0 до 10. Поскольку авторы уже разработали свою систему ввода партитуры в контенте, я пытаюсь найти способ подчеркнуть их лучше.

Пример:

"Score: 6.4" 

возвращает что-то вроде

<div class="score">6.4</div>

Есть ли способ сделать это в массиве, чтобы поместить каждую возможность оценки в файл function.php или на страницу single.php. Что бы ни было чище.

1 Ответ

1 голос
/ 27 марта 2010

Вы можете выполнять поиск / замену содержимого по регулярному выражению. Затем вы можете подключить его к Wordpress путем создания плагина и использования функции wp add_filter.

function expand_scores($content) {
 return preg_replace('/(score):\s*([\d.]+)/ims', '<div class="score">$1: $2</div>', $content);
}
add_filter('the_content', 'expand_scores');

И expand_scores, и вызов add_filter входят в ваш файл плагина. Хук the_content применяет функцию expand_scores ко всем данным поста, полученным из базы данных перед печатью.

...