[Plugin: Cyr-To-Lat] небольшие улучшения
-
Возможно, кому-то пригодится. Используя плагин, я обнаружил, что он использует не название материала, а slug. Так как я мигрировал с джумлы, у меня все слаги были вида 2008-10-24-05-48-10. Я переписал эти строки:
$posts = $wpdb->get_results("SELECT ID, post_name FROM {$wpdb->posts} WHERE post_name REGEXP('[^A-Za-z0-9\-]+') AND post_status = 'publish'"); foreach ( (array) $posts as $post ) { $sanitized_name = ctl_sanitize_title(urldecode($post->post_name));
получилось:
$posts = $wpdb->get_results("SELECT ID, post_name, post_title FROM {$wpdb->posts}"); foreach ( (array) $posts as $post ) { $sanitized_name = ctl_sanitize_title(urldecode($post->post_title));
так же мне не понравилось, что если в названии заменяются несколько символов подряд, мы получим слаг с несколькими минусами подряд:
?Медведи?! Верните часы народу! -> -Medvedi—Vernite-chasyi-narodu-
Минусы в начале и в конце – тоже не комильфо. Лечится так:
вместо
$title = preg_replace("/[^A-Za-z0-9
‘_\-]/”, ‘-‘, $title);`
пишем
$title = preg_replace("/[^A-Za-z0-9
‘_\-]+/”, ‘-‘, $title);
$title = preg_replace(“/(^-)|(-$)/”, ”, $title);`
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘[Plugin: Cyr-To-Lat] небольшие улучшения’ is closed to new replies.