나는에 대한 설명서를 읽은 get_post_permalink()
과 get_permalink()
와 둘 사이의 차이를 이해하지 않습니다. $leavename
및 $sample
매개 변수 의 목적을 이해하지 못했기 때문일 수 있습니다 . 누구나 설명 할 수 있고 한 기능이 다른 기능보다 유용 할 때? 감사!
나는에 대한 설명서를 읽은 get_post_permalink()
과 get_permalink()
와 둘 사이의 차이를 이해하지 않습니다. $leavename
및 $sample
매개 변수 의 목적을 이해하지 못했기 때문일 수 있습니다 . 누구나 설명 할 수 있고 한 기능이 다른 기능보다 유용 할 때? 감사!
답변:
get_post_permalink()
funciton은 변화의 "영구"링크 플러스 사용자 정의 재 작성 규칙에 따라 게시물에 대한 링크를 가져 오는 ?p=123
예에에를 my-beautiful-sunday-diary
. get_permalink()
기능뿐만 아니라 더 융통성이 무엇을 더 "기본"하지만 : A의 post_type
의
page
사용합니다 get_page_link()
attachment
사용합니다 get_attachment_link()
post
사용합니다 get_post_link()
또한 term
유사 category
및 날짜 영구 링크 표시를 처리합니다 . 결국, 그것은 당신의 "pretty"링크를 대체 home_url()
하거나 사용자 지정 다시 쓰기 규칙이 할당되지 않은 경우 원시 링크를 반환합니다. 마지막으로 일반 필터를 연결합니다.
/**
* Filters the permalink for a post.
*
* Only applies to posts with post_type of 'post'.
*
* @since 1.5.0
*
* @param string $permalink The post's permalink.
* @param WP_Post $post The post in question.
* @param bool $leavename Whether to keep the post name.
*/
return apply_filters( 'post_link', $permalink, $post, $leavename );
그것이 주제를 명확히하기를 바랍니다.
ProTip : 당신이 플러그인에 변화 peramlinks해야하는 경우, 내부의 특정 필터를 이동 get_attachment_link()
, get_post_link()
등 당신이 중 하나의 사이트에서 작업하고 코드를 배포 할 계획되지 않거나 만 다시 표적으로 플러그인을 작성하는 경우에만 경우 그런 다음 위의 일반 필터로 이동하십시오. 그렇지 않으면 모든 테마 작성자의 노력을 억제하고 콜백 우선 순위 경주를 시작합니다.
다른 사람이 분명히 나보다 더 잘 설명 할 것입니다. 내가 사용하기 때문에get_permalink()
그것들은 post permalink를 반환하고 post_types에 get_permalink
사용 get_post_permalink
하며 필터 할 수 있기 때문에 대부분 비슷 합니다. 또한 get_post_permalink
post_types 전용 페이지 링크, 첨부 파일을 검색하는 데 사용됩니다 .
편집하다:
의 사용에 $leavename
관해서는 링크의 포스트 유형에 따라 영구 구조 슬러그를 반환하므로 프론트 엔드 (및 백 엔드에서도)가 필요하지 않은 것처럼 보입니다.
echo get_permalink(123, true);
사용 가능한 링크에 대한 다시 쓰기 스키마를 반환하십시오.
게시물:
http://example.com/%postname%/
제품 :
http://example.com/%product%/
$ leavename은 $ rewritecode 배열의 get_permalink ()에서 사용되며 기능 행 221에서 첫 번째 매개 변수로 사용됩니다.
$permalink = home_url( str_replace($rewritecode, $rewritereplace, $permalink) );
개발자를위한 링크의 재 작성 슬러그를 발견하는 것이 유용 할 수 있습니다 (그러나 더 나은 방법이 있다고 생각합니다)
누군가가 자세한 내용을 알려 주시기 바랍니다.
$leavename
는 관리자에서 퍼머 링크 구조를 얻기 위해 사용되어 게시물의 슬러그를 편집 할 수있는 인터페이스를 생성 할 수 있습니다.