web-dev-qa-db-fra.com

Comment dois-je ajouter des liens vers d'autres pages/publications de ma publication?

Je me demande comment je devrais créer un lien vers d'autres publications à partir de l'une de mes publications. Idéalement, j'utiliserais une fonction comme get_permalink () mais php n'est pas disponible dans le contenu d'un article. Comment puis-je créer un lien vers d'autres pages en s'assurant que les liens ne se briseront pas si je change les slugs de l'article/des pages?

1
Lisandro Vaccaro

Vous avez plusieurs options. Les deux impliquent l'utilisation de l'ID de publication parce que cela ne change pas.

  1. Vous pouvez utiliser l'URL laide sous la forme http://www.example.com/?p=23, où ?p=23 serait l'ID de la publication.

  2. Vous pouvez utiliser un code court qui accepte l’ID de publication et génère un lien à l’aide de get_permalink().

Le shortcode suivant serait utilisé comme ceci.

[postlink id=23]Some link text goes here[/postlink]

Et voici la fonction.

function postlink_id_to_slug( $atts, $content = null ) {
extract( shortcode_atts( array(
    'id' => ''
), $atts ) );

if ( $id == '' || ! is_numeric( $id ) || $content == null) return false;

return '<a href="' . get_permalink( $id ) . '">' . $content . '</a>';
}
add_shortcode( 'postlink', 'postlink_id_to_slug' );

Je devrais mentionner qu’il existe un certain nombre de moyens pour trouver l’ID d’un message . Une solution consiste à ouvrir le message dans l'éditeur de message, puis à trouver post=xx dans l'URL du champ d'adresse de votre navigateur, où xx est l'identifiant numérique.


Juste pour savoir: ce plugin fait la même chose de manière plus flexible.

1
epilektric