A função get_post_permalink()
busca o link para um post, dependendo do link "permanente" regras de reescrita personalizadas que alteram ?p=123
para, por exemplo, %código%. A função my-beautiful-sunday-diary
é mais "básica", mas também mais versátil no que faz: por um get_permalink()
de
-
post_type
, usapage
-
get_page_link()
, usaattachment
-
get_attachment_link()
, usapost
Ele também lida com a exibição de get_post_link()
s como term
e permalinks de data. No final, ele substitui o link "bonito" no seu category
ou apenas retorna o link bruto se nenhuma regra de reconfiguração personalizada foi atribuída. Por fim, anexa um filtro genérico:
/**
* 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 );
Espero que isso esclarece o assunto.
ProTip: Se você precisar alterar os peramlinks em um plug-in, use os filtros específicos em home_url()
, get_attachment_link()
, etc. Somente se você estiver trabalhando em um único site e não estiver planejando distribuir seu código ou Se você está escrevendo um plugin que visa apenas reescrever coisas, então vá com o filtro genérico acima. Senão você vai armar todos os esforços de autores de temas e iniciar uma corrida prioritária de callback.