get_post_permalink와 get_permalink의 차이점은 무엇입니까?


11

나는에 대한 설명서를 읽은 get_post_permalink()get_permalink()와 둘 사이의 차이를 이해하지 않습니다. $leavename$sample매개 변수 의 목적을 이해하지 못했기 때문일 수 있습니다 . 누구나 설명 할 수 있고 한 기능이 다른 기능보다 유용 할 때? 감사!

답변:


6

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()등 당신이 중 하나의 사이트에서 작업하고 코드를 배포 할 계획되지 않거나 만 다시 표적으로 플러그인을 작성하는 경우에만 경우 그런 다음 위의 일반 필터로 이동하십시오. 그렇지 않으면 모든 테마 작성자의 노력을 억제하고 콜백 우선 순위 경주를 시작합니다.


2

다른 사람이 분명히 나보다 더 잘 설명 할 것입니다. 내가 사용하기 때문에get_permalink()

그것들은 post permalink를 반환하고 post_types에 get_permalink사용 get_post_permalink하며 필터 할 수 있기 때문에 대부분 비슷 합니다. 또한 get_post_permalinkpost_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을 사용한 적이 있습니까? 왜 그리고 어떻게 그렇게 할 것입니까? get_post_permalink ()를 사용하여 아카이브를 검색하거나 get_permalink ()를 참조하고 있습니까? get_permalink ()와 똑같이 사용되는 오늘까지 get_post_permalink ()가 사용되는 것을 본 적이 없으므로 차이점에 대해서는 명확하지 않습니다.
Michelle

나는 get_permalink에 대해 이야기하고 있습니다. 소스에 있고 저자 페이지, 카테고리 등을 검색합니다. get_post_permalink 이상의 기능을 수행합니다. 내가 실수하지 않으면 Get_permalink는 템플릿 함수이며 강력합니다.
Benoti

이해할 수 있습니다. get_post_permalink ()를 사용해야 할 때나 사용하고 싶지 않을 때 코드가 표시되지 않습니다. 코드 예제를 제공 할 수 있습니까? 그리고 $ leavename과 $ sample이 무엇을하는지 아십니까? 나는 get_permalink () 만 사용했습니다 :-)
Michelle

2
$leavename는 관리자에서 퍼머 링크 구조를 얻기 위해 사용되어 게시물의 슬러그를 편집 할 수있는 인터페이스를 생성 할 수 있습니다.
Milo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.