Debug wordpress rewrite rules

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Debug wordpress rewrite rules

Viết lại đường dẫn wordpress ( rewrite ) được các web developer rất chú trọng, nhưng cần yêu cầu kỹ năng về regular expression. Trong bài bữa nay mình xin giới thiệu một vài đoạn code để gỡ lỗi wordpress rewrite .
wordpress rewrite rules

Simple explore wordpress rewrite bug

Sao chép các đoạn code sau vào theme’ functions.php

   //debug rewrite     function   debug_rewrite  (    )     {     global     $wp    ,     $wp_rewrite    ;       if     (     !  current_user_can  (     'manage_options'     )     )     return    ;       echo     " 
 "    ;     var_dump    (     $wp    ->     matched_rule     )    ;     print_r    (     $wp_rewrite     )    ;     echo     " 

" ; } add_action ( 'template_redirect' , 'debug_rewrite' ) ;

– Print all rewrite rules

   function   dev4press_debug_rewrite_rules  (    )     {     global     $wp_rewrite    ;     echo     ' 
'
; if ( ! empty ( $wp_rewrite -> rules ) ) { echo '
Rewrite Rules
'
; echo ' '
; echo ' Rule Rewrite ' ; echo ' ' ; foreach ( $wp_rewrite -> rules as $name => $value ) { echo ' ' . $name . ' ' . $value . '' ; } echo '' ; } else { echo 'No rules defined.' ; } echo '

' ; } //

Có thể đặt hàm này ở header.php để tìm lỗi rewrite

 dev4press_debug_rewrite_rules  (    )    ;   

Hàm sau đây cũng tương tự dùng để làm print rewrite bugs

   //debug     function   dev4press_debug_page_request  (    )     {     global     $wp    ,     $template    ;     define    (    "D4P_EOL"    ,     "rn"    )    ;       echo     ''    .  D4P_EOL  ;     echo     ''    .  D4P_EOL  ;     echo     ''    .  D4P_EOL  ;     echo     ''    .  D4P_EOL  ;     }   

debugging permalink issues

Produces a dump on the state of WordPress when a not found error occurs. Useful when debugging permalink issues, rewrite rule trouble, place inside functions.php

   ini_set    (     'error_reporting'    ,     -    1     )    ;     ini_set    (     'display_errors'    ,     'On'     )    ;       echo     ' 
 '    ;     add_action  (     'parse_request'    ,     'debug_404_rewrite_dump'     )    ;     function   debug_404_rewrite_dump  (     &    $wp     )     {     global     $wp_rewrite    ;       echo     ' 

rewrite rules

'
; echo var_export ( $wp_rewrite -> wp_rewrite_rules ( ) , true ) ;   echo '

permalink structure

'
; echo var_export ( $wp_rewrite -> permalink_structure , true ) ;   echo '

page permastruct

'
; echo var_export ( $wp_rewrite -> get_page_permastruct ( ) , true ) ;   echo '

matched rule and query

'
; echo var_export ( $wp -> matched_rule , true ) ;   echo '

matched query

'
; echo var_export ( $wp -> matched_query , true ) ;   echo '

request

'
; echo var_export ( $wp -> request , true ) ;   global $wp_the_query ; echo '

the query

'
; echo var_export ( $wp_the_query , true ) ; } add_action ( 'template_redirect' , 'debug_404_template_redirect' , 99999 ) ; function debug_404_template_redirect ( ) { global $wp_filter ; echo '

template redirect filters

'
; echo var_export ( $wp_filter [ current_filter ( ) ] , true ) ; } add_filter ( 'template_include' , 'debug_404_template_dump' ) ; function debug_404_template_dump ( $template ) { echo '

template file selected

'
; echo var_export ( $template , true ) ;   echo '

' ; exit ( ) ; } //or call this function dev4press_debug_page_request ( ) { global $wp , $template ; define ( "D4P_EOL" , "rn" ) ;   echo '' . D4P_EOL ; echo '' . D4P_EOL ; echo '' . D4P_EOL ; echo '' . D4P_EOL ; }

Có 1 Plugin bạn nên tham khảo là “Monkeyman Rewrite Analyzer” dùng công cụ này để test rewrite rules matching rất ok, mình thấy công cụ này tuyệt lắm vời.
Monkeyman Rewrite Analyzer - hoangweb.com
Sử dụng thêm công cụ regular expression online tool :
http://regexpal.com/
http://www.regexr.com/

Nếu bạn thích bài viết này, hãy ủng hộ chúng tôi bằng phương pháp đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể có thể theo dõi blog này trên Twitter và Facebook

Bài viết Debug wordpress rewrite rules được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang