여러분이 도움을 줄 수있는 곳이 있습니다. 헤드 라인, 복사 등 필요한 게시물/페이지 데이터를 채우기 위해 일부 JSON 데이터를 가져 오는 REST 인터페이스가 있습니다. 반면에 존재하지 않는 URI에는 404의 WordPress 처리 기능이 있습니다. 그래서 다음과 같은 시나리오에 직면하게하십시오.WordPress 4.6.1 404 처리
사용자가 www.webpage.com/im-not-there/을 요청하고 해당 게시물/페이지가 존재하지 않기 때문에 404.php
템플릿을 보냅니다. 지금까지. 너무 좋아요. 그러나 이것이 까다로워지는 곳입니다. WP가 404를 보내길 원하기 전에 REST 인터페이스를 쿼리하고 싶습니다. 페이지가 존재하는지 묻고 (확실히 이것보다 조금 복잡합니다)). 따라서 REST 인터페이스의 가능한 대답은 TRUE
또는 FALSE
일 수 있습니다. 에 TRUE
내가 속한 곳으로 WP가 가고 싶지만, FALSE
에 WP 파일에 내 데이터를 넣고 싶습니다. 그것을 위해 나는 적절한 코드를 가지고 있고 바른 고리를 사용한다. 출력 (404)이 올바르도록 글/페이지가 존재하지 않을 수도 있습니다.
쉬운 설명 :
- 사용자가 URI를 요청 -> 페이지/게시물 존재 -> 요청 템플릿과 WP 물건
- 사용자가 URI를 요청 -> 페이지/게시물이 존재하지 않습니다 -> REST 인터페이스를 요청하고 그것은 반환
- ->
TRUE
-> 당신이
에 익숙해으로 "
- ->
- ->
FALSE
-> 표준 WP 동작입니다.
404.php
를 사용하지만
template-xy.php
를 사용하지 않는"당신의 물건을 할 WP에게
은 다음 밖으로 찾았습니다 "다른 템플릿을로드이 작업 후크의 잘 사용하지 않습니다"
- WP의 사본은 클리 어리 것은 말한다. 분과 예를 참조 - - 참조 된 후크는
- '
template_redirect
'는template_include
를 사용하는 페이지가 제대로로드처럼 더 오류가 발생하지만<title>
이404.php
템플릿에서 여전히- https://codex.wordpress.org/Plugin_API/Filter_Reference/template_include
- 물론 나는 모든 다시 추가 할 수 있습니다
option_template
과option_stylesheet
과 같은 필수 필터는 정말 그렇습니다.
- 코덱스 다음은 "WP"후크 말한다 : "이 훅 쿼리 다음과 같은 어떤 높은 수준의 필터링 또는 유효성 검사를 수행 할 수있는 하나 개의 효과적인 장소이지만, 워드 프레스는 라우팅, 처리 또는 처리를 수행하기 전에. [...] "
- 이 시점부터 나는 더 이상지고 있지 않습니다.
추가 읽기 :
설정
- 방랑 & PuPHPet
- 없는 핵심 오버라이드 (override) : 6,
- 의 Nginx는
- MySQL의 5.6
- PHP 5.6
- 워드 프레스 4.6.1
- 없음 플러그인은
- 예쁜 URL을
- 서버 측 처리를 사용할 수 없음
template_include
의 필터를 사용하면 너무 늦어서 "오류"가 발생합니다.<title>
제한을 활성화
모든 코덱스 링크를 게시하지 않아서 죄송하지만 Stackoverflow가 허용하지 않습니다. :)
당신에게 대단히 감사합니다