2010-04-01 6 views
1

Si j'ai beaucoup de pages ... page_ids 1-100 ... comment puis-je lier entre les deux dans l'éditeur ?? Je suppose que je peux utiliser <a href="/index.php?page_id=x">Link</a> mais ce n'est pas convivial ... Je veux faire quelque chose comme <a href="<?= get_permalink(x); ?>">Link</a> mais cela ne fonctionne pas non plus. Y a-t-il un plugin pratique?Liaison interne dans Wordpress

Répondre

1

Utilisez un shortcode.

Ajouter ce qui suit à la functions.php de vos thèmes:

if (! function_exists('toscho_id_to_link')) 
{ 
    /** 
    * Creates a link from the post id. 
    * 
    * Usage: [link id=42 title="The Meaning of Life?" class="pseudophilosphical"]Guess![/link] 
    * 
    * Inspired by Sergej Müller 
    * @see http://playground.ebiene.de/2388/wordpress-shortcode-links/ 
    * @param array $atts id (numeric) and additional HTML attributes 
    * @param string $data 
    * @return string 
    */ 
    function toscho_id_to_link($atts, $data) 
    { 
     // incomplete 
     if (! isset ($atts['id']) or ! is_numeric($atts['id'])) 
     { 
      return $data; 
     } 

     // test 
     $url = get_permalink($atts['id']); 

     // No entry with this ID. 
     if (! $url) 
     { 
      return $data; 
     } 

     unset ($atts['id']); 

     $attributes = ''; 

     // more attributes? 
     if (! empty ($atts)) 
     { 
      foreach ($atts as $key => $value) 
      { 
       $attributes .= " $key='$value'"; 
      } 
     } 

     return "<a href='$url'$attributes>$data</a>"; 
    } 
    add_shortcode('link', 'toscho_id_to_link'); 
} 

Vous trouverez peut-ce plugin utile: Simply show IDs.

0

Il existe des plugins que vous pouvez utiliser pour insérer PHP dans vos messages ou pages. Peut-être que l'utilisation de l'un d'entre eux vous permettra d'utiliser votre deuxième suggestion.

1

Nous utilisons RB-Internal-Links. Il vous permet de lier en utilisant un shortcode et slug, ou a même une interface WYSIWYG.

+0

J'étais sur le point de suggérer que plug-in, comme je l'utilise moi-même, mais on dirait que je trouve cette question quelques jours trop tard . – dgw

0

Vous devriez vraiment utiliser des URL complètes et complètes pour tous les liens dans WordPress. http://example.com/index.php?page_id=123, par exemple.

L'utilisation des liens partiels entraînera des comportements étranges dans les aliments, sur les archives de la catégorie, etc.