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?
Vous avez plusieurs options. Les deux impliquent l'utilisation de l'ID de publication parce que cela ne change pas.
Vous pouvez utiliser l'URL laide sous la forme http://www.example.com/?p=23
, où ?p=23
serait l'ID de la publication.
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.