사용자가 친숙한 URL을 지원하도록 퍼머 링크 설정을 전환 할 수 있도록 내 테마 옵션 패널에 설정이 있습니다. 나는 단지/% postname % /와 /%postname%.html을 옵션으로 허용하고 있습니다.사용자 정의 permalinks 전환 기능. 이 논리를 확인하십시오
누군가가 사이트의 페이지에 액세스하거나 테마 옵션을 볼 때마다 htaccess를 다시 작성하지 않으려 고하므로 코드를 피하려고 노력하고 있습니다.
$ myTheme_permalinks라는 테마 옵션에 입력 필드가 있습니다. 기본값은 "/ % postname % /"이지만 사용자가 "/%postname%.html"로 변경할 수도 있습니다.
다음은이 설정을 처리하는 테마 옵션의 맨 위에있는 코드입니다. 이게 들리는가?
if(get_option('myTheme_permalinks') =="/%postname%/" && get_option('permalink_structure') !== "/%postname%/" || !get_option('myTheme_permalinks'))
{
require_once(ABSPATH . '/wp-admin/includes/misc.php');
require_once(ABSPATH . '/wp-admin/includes/file.php');
global $wp_rewrite;
$wp_rewrite->set_permalink_structure('/%postname%/');
$wp_rewrite->flush_rules();
update_option('permalink_structure','/%postname%/');
update_option('myTheme_permalinks','/%postname%/');
}
else if (get_option('myTheme_permalinks') =="/%postname%.html" && get_option('permalink_structure') !== "/%postname%.html")
{
require_once(ABSPATH . '/wp-admin/includes/misc.php');
require_once(ABSPATH . '/wp-admin/includes/file.php');
global $wp_rewrite;
$wp_rewrite->set_permalink_structure('/%postname%.html');
$wp_rewrite->flush_rules();
update_option('permalink_structure','/%postname%.html');
}