2013-02-01 2 views
0

저는 현재 realtor에 대한 객체 목록을 작성하고 있으며 "objekt"라는 사용자 정의 게시 유형에 로컬로 모든 객체를 캐싱하고 있으며 "permjink"를 다시 작성합니다.Wordpress는 퍼머 링크에 -2를 계속 추가합니다.

우리는 서버의 루트에이라는 파일을 가지고 있으며,이 파일은 시스템의 새 오브젝트가 생성 될 때 부동산업자가 핑 (ping)합니다. 이렇게하면 "objekt"유형의 모든 게시물이 삭제되고 XML 파일을 통해 모든 오브젝트가 시스템에 다시 추가됩니다.

모든 것이 완벽하게 작동하지만 게시물이 처음 생성 된 경우에도 URL에 -2가 계속 표시되며 원격으로도 이름이없는 것은 없습니다.

예를 들어, 152912이라는 wp_insert_post이라는 이름을 사용하여 삽입 한 개체의 게시물 이름은 152912-2입니다.

나는 다음과 같은 코드를 사용하여 객체 생성 :

$insertedPost = wp_insert_post(array(
    'post_author' => 1, 
    'post_type' => 'objekt', 
    'ping_status' => 'closed', 
    'post_status' => 'publish', 
    'post_name' => $objectData['title'], 
    'post_title' => $objectData['title'] 
), false); 

을 그리고 그들은 유형 모든 것들을 통해 내가 루프를 생성하기 전에 "OBJEKT"이 코드를 사용하여 제거 :

wp_delete_post(get_the_ID(), true); 

데이터베이스에서 개체를 영구히 제거하기 위해 두 번째 매개 변수로 true를 추가했습니다. 모든 검색은 내가 남긴 것이 없음을 증명합니다.

나는이 코드를 사용하여 삭제 후 영구 링크를 세척했지만, 그것은 상황에 도움이 아무것도하지 않는 :

global $wp_rewrite; 
$wp_rewrite->flush_rules(); 

는이 문제를 경험하고, 당신이 그것을 해결하는 방법을 알고 있습니까? 이 문제의 원인이 무엇인지 알고 싶다면 회신 해주십시오! 사전에

감사합니다, 당신은 이미 퍼머과 게시물이 없습니다 조나단

+0

퍼머 링크 설정으로 이동하여 2가 추가되었는지 확인하십시오. 그렇다면 삭제하십시오. 내 블로그 몇 개가 생겼어. –

+0

또한, .htaccess 파일을 검사하여 문제를 설명하는 다시 쓰기 규칙이 없음을 확인하십시오. – SQLGuru

+0

안녕하세요, 답변 주셔서 감사합니다.퍼머 링크 설정을 확인한 결과 현재는 "/ % year %/% monthnum %/% day %/% postname % /"로 설정되어 있습니다. 무슨 변화가 있더라도 게시물은 여전히 ​​동일한 이름을 갖습니다. .htaccess의 모든 규칙을 제거하려고했지만 아무 소용이 없습니다. – Jonathan

답변

1

Wordpress에는 숫자로 된 게시물 이름의 특수 처리가 있습니다. 이는 URL의 숫자 ID가 게시물의 실제 ID라고 가정하기 때문에 의도적 인 것입니다. -2을 추가하면 문자열로 해석되고 게시물 이름과 같이 해석됩니다. 그렇지 않으면이 게시물 ID가없는 경우 http://yoursite/?p=152912을 표시하고 결과는 404로 표시됩니다.

내가 지금까지 발견 한 유일한 해결책은 수치적인 이름을 피하십시오.

은 내가 ticket that introduced this behaviour을 발견

편집

는 (내부적으로 모든 것을, 심지어 페이지와 이미지 포스트이기 때문에 나는 글을 썼다).

+0

방금 ​​구원을 드렸습니다. 감사합니다. – Jonathan

0

확인합니다. 퍼머 링크가 이미 해당 게시물에 존재하는 경우 WordPress는 -2을 퍼머 링크에 추가합니다. 쓰레기도 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 위의 게시물이 맞았습니다. – Jonathan

관련 문제