Convert hyphen to underscore in permalinks
-
16-04-2021 - |
문제
I would like to use underscore in my permalinks instead of hyphen.
Current permalink:
www.example.com/2013/01/hello-this-is-a-test-post/
Desired permalink
www.example.com/2013/01/hello_this_is_a_test_post/
I have tried some solutions mentioned here in stacexchange. But they were not working.
해결책 2
Toscho advised me like this.
Google treats - as word separator, but not _. You will hurt yourself. :)
He was 100% true. Here is an article that explains it. So I dropped the idea.
But if you still looking for a solution here is the answer.
Answered by this stackoverflow user
Hunt down the following file:
wp-includes/formatting.php
Jump down to the
sanitize_title_with_dashes
function. You'll find this section of code inside:$title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = str_replace('.', '-', $title); $title = preg_replace('/[^%a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', '-', $title); $title = preg_replace('|-+|', '-', $title); $title = trim($title, '-');
Swap out all of the dashes/hyphens (
-
) for underscores (_
) like so:$title = strtolower($title); $title = preg_replace('/&.+?;/', '', $title); // kill entities $title = str_replace('.', '_', $title); $title = preg_replace('/[^%a-z0-9 _-]/', '', $title); $title = preg_replace('/\s+/', '_', $title); $title = preg_replace('|-+|', '_', $title); $title = trim($title, '_');
Note that any posts you've created before this change, and rely on the
%postname%
permalink structure tag, will be broken.In that case you'll need to go back and republish those post so the dashes are swapped out for the underscores. Or just write yourself a little SQL to replace them.
다른 팁
it can be done easily without any codes or plugin just go to pages dashboard, click Quick Edit" which url you want to change. Now add underscore. Update and done
I initially did this but with every update to Wordpress I'd have to make the manual change again, so I made this plugin in case it helps anyone: http://wordpress.org/plugins/underscores-in-permalinks/