the_permalink ()와 get_permalink () 함수의 차이점


9

WordPress에서 the_permalink()get_permalink()함수 를 모두 사용 하고 있지만 두 함수의 출력에서 ​​차이를 얻을 수는 없습니다. 두 기능의 차이점은 무엇입니까?

답변:


16

the_permalink 현재 게시물의 영구 링크를 프론트 엔드로 에코합니다.

get_permalink그러나 변수로 반환하지만 반향하지는 않습니다. 다른 게시물의 영구 링크를 원할 경우 게시물 ID를 전달할 수도 있습니다.

the_permalink 다음과 같습니다.

echo get_permalink();

실제로 실제로하는 일에 매우 가깝습니다. 이것은 다음의 구현입니다 the_permalink.

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
이는 the_ID () 및 get_ID ()와 같은 모든 함수에도 이와 같은 차이점이 있음을 의미합니다. 이유를 묻는 데요 죄송하지만 난 워드 프레스에 새로운 오전
AliasgerSW

@AliasgerSW는 그 패턴을 보여 주지만, 몇 가지 예외가 있지만 일반적으로 그렇게합니다
Nicolai

의심스러운 경우 @AliasgerSW 코드를보십시오. QueryPosts 는 WordPress 함수의 소스 코드를 조회 할 수있는 훌륭한 사이트입니다.
shea

@ AliasgerSW 그것은 우리 자신의 @Rarst에 의해 만들어진
shea

@shea QueryPosts가 폐기되었습니다. :-(\
나는 가장 멍청한 사람입니다.

3

당신이 보면 워드 프레스 코덱스 이에 당신은 볼 것이다 get_permalink()루프 외부에서 사용할 수있다. the_permalink()루프 내에서 사용하기위한 것입니다. 그것을 보는 가장 쉬운 방법입니다.


그것을 볼 수있는 쉬운 방법 일지 모르지만 매우 완전한 것은 아닙니다
Nicolai

확실히 @Tom J Nowell ♦의 대답은 훨씬 간결합니다. 훨씬 더 잘 설명 :-)
매트 로얄

-1

the_permalink()와 같은 게시물 루프에서 사용됩니다 the_title(). 에서 루프에 대해 더 자세히 루프 .

get_permalink()루프 또는 루프 외부에서 사용할 수 있습니다. 루프에서 함수는 현재 포스트 퍼머 링크를 반환합니다 (에코 아님). 그러나 외부 루프에는 게시물 ID가 필요합니다.

예를 들면 다음과 같습니다.

echo get_permalink( 1 );

현재 페이지 영구 링크가 표시됩니다.

echo get_permalink();

1
실제로 루프 외부에 ID가 필요하지 않습니다
Nicolai
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.