2013-05-03 2 views
2

functions.php (자식 테마에서 twentytwelve)로 영구 링크 설정을 변경하면 수동으로 아무것도 할 필요없이 활성화되고 작동하게 할 수 있습니까?

나는이 코드가 작동해야한다고 생각한다. 그러나 그것은 보이지 않는다. 나는 뭔가를 놓친 것 같다.

if($run_when_theme_is_activated_and_user_wants_this_permalink_structure){ 
     global $wp_rewrite; 
     $wp_rewrite->set_permalink_structure('/%postname%/'); 
     $wp_rewrite->flush_rules(); 
} 

난 그냥 "퍼머 설정"페이지 ... WP - 관리자/옵션 - permalink.php를 방문

은 참으로 "포스트 이름은"이미을 선택하고 지금 테스트 할 때 작동 입니다. 그래서 나는이 특별한 페이지를 방문하거나 아무것도 구할 필요가 없습니다. permalink 설정을 수동으로 방문해야하는 단계는 솔루션에서 건너 뛰십시오.

+0

나는 당신의 질문은 [여기] 질문 (http://wordpress.stackexchange.com/questions/31207/how-to-set-permalink-structure-via-functions-와 같은 아주 생각 PHP) 당신과 함께 작동하는지 확인하고보십시오. – ROMMEL

+0

감사합니다. 나는 코드를 테스트했지만 같은 결과를 보았다. /options-permalink.php 페이지를 방문한 후에 활성화된다. 이 주제가 테마 스물 12 번인지 확인하겠습니다. –

답변

0

이 테마가 너무에만 설정, 활성화 될 때 실행

add_action('after_setup_theme', 'reset_permalinks'); 
function reset_permalinks() { 
    global $wp_rewrite; 
    $wp_rewrite->set_permalink_structure('/%postname%/'); 
    $wp_rewrite->flush_rules(); 
} 
+0

고마워요,하지만이 솔루션은 같은 결과를 제공합니다. 그것은 ..wp-admin/options-permalink.php 페이지를 수동으로 visting 한 후에 만 ​​/ % postname % /을 활성화합니다. 어쩌면 스물 두 개의 어린이 테마 쟁점이 될 것입니다. 우리가 보게 될 것입니다. –

+0

// wp-admin을 통해 테마가 활성화 될 때 한 번 실행되는 코드. if 테마가 활성화 될 때 한 번 실행 됨} –

0

사용이 코드를 한 번 규칙을 세척해야한다. 그것은 100 % 작동합니다. 감사합니다

/** 
* Rewrite set up, when theme activate i mean 
*/ 
if (isset($_GET['activated']) && is_admin()) { 
    global $wp_rewrite; 
    $wp_rewrite->set_permalink_structure('/%postname%/'); 
    $wp_rewrite->flush_rules(); 
} 

/** 
* Redirect to Permalink setting Page. 
* Otherwise Redirect rule will not work Properly. 
*/ 
function redirect_to_permalink() { 

    wp_redirect('options-permalink.php'); 
} 
add_action('after_switch_theme', 'redirect_to_permalink'); 
관련 문제