재 작성 규칙에서 쿼리 문자열 매개 변수가 손실 됨
-
-
페이지 템플릿에서 매개 변수를 어떻게 검색하고 있습니까?아마도 문제가있을 것입니다.How are you retrieving the parameter in you page template? Perhaps the issue is there.
- 0
- 2011-08-22
- montrealist
-
재 작성이 확실합니까?그리고 single-book.php에 뭔가?해당 파일에서 문자 변수를 어떻게 얻습니까?Are you sure it's something with the rewrite? And something in single-book.php? How are you getting the letter variable in that file?
- 0
- 2011-08-22
- chrisguitarguy
-
@dalbaeb 아,이것은 원래 게시물에 있어야합니다.나는 그것을 편집했습니다.@dalbaeb Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
@ChristopherDavis 아,이것은 원래 게시물에 있어야합니다.나는 그것을 편집했습니다.@ChristopherDavis Ah, this should have been in the original post. I've edited it in.
- 0
- 2011-08-22
- Rebecca Chernoff
-
1 대답
- 투표
-
- 2011-08-22
문제는 아마도 귀하의 프런트 엔드 코드라고 생각합니다.
해보기 :
<?php if( $letter = get_query_var( 'letter' ) ) { echo 'Current Letter: ' . $letter; } else { echo 'Current Letter: All'; }
I think it's probably your front end code that's the problem.
Try this:
<?php if( $letter = get_query_var( 'letter' ) ) { echo 'Current Letter: ' . $letter; } else { echo 'Current Letter: All'; }
-
아니.) : URL은 여전히 '/books/the-dictionary'로 끝나고 qs var를 가져 오는 모든 방법 (현재 3 개)이 비어 있습니다.Nope. ): The url still ends up as `/books/the-dictionary` and all (now 3) ways of pulling the qs var are empty.
- 0
- 2011-08-22
- Rebecca Chernoff
-
이것은 일종의 긴 샷이지만`functions.php` (`my_init` &`add_books_rewrite`)의 처음 두 함수를 http://pastie.org/2411828로 바꾸고 add_filter ( 'init'를 삭제하십시오...) 선.그런 다음 영구 링크 설정 페이지로 이동하여 저장을 눌러 재 작성 규칙을 수동으로 플러시하십시오.This is sort of a long shot, but replace your first two functions in `functions.php` (`my_init` & `add_books_rewrite`) with this: http://pastie.org/2411828 and delete your add_filter('init' ...) line. Then try manually flushing your rewrite rules by going to your permalinks settings page and hitting save.
- 0
- 2011-08-22
- chrisguitarguy
-
그리고`add_rewrite_rule` 정규식의 끝에있는 달러 기호도 삭제 해 볼 수 있습니다.And you may want to try deleting the dollar sign at the end of your `add_rewrite_rule` regex as well.
- 0
- 2011-08-22
- chrisguitarguy
-
그래서 당신은 일이 정상임을 나타내는 Rewrite Analyzer가 붉은 청어라고 생각합니까?흠,시도하겠습니다.So you think the Rewrite Analyzer indicating things are ok is a red herring? Hmm, will try.
- 0
- 2011-08-22
- Rebecca Chernoff
-
그래 ... 변화가 없다.Yeah...no change.
- 0
- 2011-08-22
- Rebecca Chernoff
-
WP가 URL을 리디렉션하는 것이 이상하다는 것을 알았습니다. 아마도 정식 재 작성과 관련이있을 것입니다.add_rewrite_endpoint 사용은 어떻습니까 : http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint ('letter ',EP_PERMALINK);`.add_rewrite_rule 대신 사용하고 어떤 일이 발생하는지 확인하십시오.I just find it weird that WP is redirecting the URL -- probably something to do with the canonical rewriting. What about using add_rewrite_endpoint: http://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint 'add_rewrite_endpoint( 'letter', EP_PERMALINK );`. Use that instead of add_rewrite_rule and see what happens
- 0
- 2011-08-22
- chrisguitarguy
맞춤 게시물 유형을 성공적으로 추가했으며 영구 링크 구조가 훌륭하게 작동합니다. 예를 들어 맞춤 게시물 유형
books
가 있고 책의 영구 링크는/books/the-dictionary
입니다.내
single-book.php
페이지 템플릿은letter
매개 변수를 받아 페이지에 표시되는 콘텐츠를 맞춤 설정합니다./book/the-dictionary/q
와 같은 링크를 원합니다.테마의functions.php 파일에 다음을 추가했습니다.
위의 플러싱 코드를 사용하고,수동으로 퍼머 링크 설정 페이지로 이동하여 저장하고,정규식에서 어리석은 오류를 수정하는 데 몇 번의 시도가 걸렸지 만 결국 Jan Fabry 's 멋진 재 작성 분석기 플러그인 .
그래서 여기서부터는 순조로운 항해 인 것 같군요? 예 ... 정확히 아닙니다.
내 사이트를로드하고
books/the-dictionary/q
로 이동하면the-dictionary
콘텐츠를 올바르게로드하지만 매개 변수가 손실됩니다. 흥미로운 점은index.php?pagename=the-dictionary&letter=q
를로드하면 모든 것이 잘 작동한다는 것입니다.매개 변수를 검색하기 위해 다음 코드가 있습니다.
$_SERVER["QUERY_STRING"]
도 살펴 보았습니다.index.php?pagename...&letter...
를 사용할 때는 채워지지만/books/pagename/letter
를 사용할 때는 채워지지 않습니다.여기서 몇 가지 일이 일어나고있는 것 같습니다. 적절한 쿼리 문자열 변수로index.php를 지정하면 작동하므로 WordPress가 매개 변수를 완전히 삭제하지 않습니다. 이것은 다시 쓰기 규칙이 제대로 작동하지 않음을 나타내는 것 같습니다. 그러나 Rewrite Analyzer 플러그인은 내가하려는 일에 대해 제대로 설정되었다고 말하는 것 같습니다.
연결 끊김 문제를 해결하기 위해 여기에서 무엇을 확인해야하는지 약간 혼란 스럽습니다. 명백한 것을 놓친다면 죄송합니다. ) :