Різниця між функцією_permalink () та get_permalink ()


9

У WordPress я використовую the_permalink()і get_permalink()функції, і функції, але я не можу отримати різниці у виході обох функцій. У чому різниця між цими двома функціями?

Відповіді:


16

the_permalink повторюється постійна посилання поточного допису до фронту.

get_permalinkоднак повертає його як змінну, але не повторює його. Ви також можете надіслати ідентифікатор публікації до нього, якщо ви хочете посилання на іншу публікацію.

the_permalink еквівалентно:

echo get_permalink();

Що дуже близько до того, що насправді робить. Це реалізація the_permalink:

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

3
Це означає, що всі функції, такі як the_ID () та get_ID (), також мають такі ж відмінності, як і ця. Вибачте, але я новачок у wordpress, тому прошу
AliasgerSW

@AliasgerSW ось такий зразок, є деякі винятки, але, як правило, саме так
Ніколай

@AliasgerSW, коли сумніваєтесь, подивіться на код. QueryPosts - це чудовий сайт для пошуку вихідного коду функцій WordPress.
shea

@ AliasgerSW це зроблено наша власна @Rarst
ши

@shea QueryPosts вийшов на пенсію. : - (\
Я найдурніший чоловік

3

Якщо ви подивіться на WordPress Codex на це , ви побачите , що get_permalink()там для використання поза циклом. the_permalink()призначений для використання всередині циклу. Це найпростіший спосіб поглянути на це.


це може бути найпростішим способом поглянути на це, але не дуже повно
Ніколай,

Напевно, відповідь @Tom J Nowell ♦ набагато стисліша. Набагато краще і добре пояснено :-)
Метт Роял

-1

the_permalink()використовується в петлях повідомлень, як the_title(). Детальніше про петлі читайте в The Loop .

get_permalink()може використовуватися в петлях або поза петлями. У циклі функція повертає (не лунає) поточну публікацію постійної посилання. Але для зовнішніх циклів потрібен ідентифікатор допису.

Наприклад:

echo get_permalink( 1 );

Це відобразить постійну посилання на поточну сторінку:

echo get_permalink();

1
насправді для цього не потрібен ідентифікатор за межами циклу
Nicolai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.