web-dev-qa-db-fra.com

Obtenir l'URL actuelle avec les paramètres passés

Comment puis-je obtenir l'URL actuelle dans une page wordpress? J'ai activé les URL propres, mais je veux l'URL sans les URL propres. Par exemple

http://example.com/?page_id=1

au lieu de

http://example.com/my-page
2
user7282

Ajoutez la fonction personnalisée suivante dans le fichier functions.php de votre thème pour obtenir l’URL de la page sans les URL propres

function get_page_custom_link() {
    global $post;
    $link = '';        
   if ( 'page' == get_option( 'show_on_front' ) && $post->ID == get_option( 'page_on_front' ) )
        $link = home_url('/');
    else
        $link = home_url( '?page_id=' . $post->ID );    
    return $link;
}

Et appelez-le dans votre modèle comme suit

<?php echo get_page_custom_link(); ?>

Note: Cela ne fonctionnera pas pour les autres URL (pièces jointes, tags, taxonomie, post etc.)

1
Vinod Dalvi

Vous pourriez être intéressé par fonction url_to_postid

Utilisé comme suit (l'exemple provient d'une partie de thème singulière, par exemple single.php, page.php):

$url = get_permalink();
$postid = url_to_postid( $url );
$post_type = get_post_type( $post_id );
switch ( $post_type ){
    case 'post':
        $not_Nice_permalink = home_url( '?p=' . $post->ID );
        break;
    case 'page':
        $not_Nice_permalink = home_url( '?page_id=' . $post->ID );
        break;
}

Notez que cela ne renvoie pas l'ID de publication pour les types de publication personnalisés.

0
david.binda